477. OWASP Top 10 (2021 기준 주요 취약점)
핵심 인사이트 (3줄 요약)
- 본질: OWASP Top 10은 전 세계 수만 명의 웹 해킹 전문가들이 모인 비영리 재단(OWASP)이 3~4년 주기로 "현재 지구상의 웹사이트들을 털어먹는 가장 핫하고 치명적인 해킹 구멍(취약점) 10가지"를 집대성하여 발표하는 전 세계 사이버 보안의 절대 바이블이자 헌장이다.
- 가치: 개발자들에게 "해킹 조심해라"는 뜬구름 잡는 잔소리 대신, "이 10개만 완벽하게 방어해도 네가 만든 사이트가 야생(인터넷)에서 털릴 확률의 90%를 차단할 수 있다"는 가장 명확하고 가성비 극강의 **시큐어 코딩 가이드라인(Secure Coding Guideline)**을 제시한다.
- 융합: 앞서 배운 위협 모델링(STRIDE)을 실체화하는 구체적 과녁판이며, 기업의 모의 해킹(Penetration Testing) 체크리스트, 취약점 스캐너(SAST/DAST)의 탐지 룰(Rule), 심지어 대한민국 금융/공공기관의 보안 심사 통과 기준(Compliance)과 100% 한 몸으로 융합되어 법적 구속력마저 지닌다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: OWASP(Open Web Application Security Project) 재단이 발표하는 10대 웹 보안 취약점이다. 세상에 해킹 수법이 수만 가지가 있지만, 사실 해커들도 귀찮아서 가장 잘 뚫리고(발견 쉽고), 뚫었을 때 DB를 다 빼가는 대박(피해 큼)을 치는 '가성비 좋은 10가지 해킹'만 하루 종일 찔러댄다. 이 10가지를 순위대로 모아놓은 글로벌 족보다. (최신 버전은 2021년판이다.)
-
필요성: 신입 개발자에게 "안전하게 코딩해"라고 하면 뭘 해야 할지 모른다. 10만 원짜리 자물쇠를 창문에 달고, 정문은 열어두는 헛발질을 한다. 이때 아키텍트가 "잔말 말고 OWASP Top 10 리스트 벽에 붙여놓고 이 10개만 막아내라!"라고 지시한다. **한정된 개발 기간과 예산 속에서 어디를 가장 먼저 콘크리트로 막아야 하는지(우선순위 타겟팅)**를 전 세계 해커들의 빅데이터 통계로 증명해 준 가장 친절하고 완벽한 오답 노트다.
-
💡 비유: OWASP Top 10은 **'전국 빈집털이범들의 가장 뻔한 수법 Top 10 뉴스 보도'**와 같습니다. "1위: 우유 투입구로 손 넣기", "2위: 열린 창문 뜯기", "3위: 화분 밑에 숨겨둔 열쇠 찾기". 집주인(개발자)이 도둑을 막겠다고 마당에 지뢰를 깔거나 지붕에 철조망을 치는 오버(Over-engineering)를 할 필요가 없습니다. 그냥 저 뉴스에 나온 1, 2, 3위 수법들(우유 구멍 막기, 열쇠 숨기지 않기)만 철저히 대비해도 도둑질(해킹)의 90%를 막을 수 있는 가장 훌륭한 맞춤형 방범 매뉴얼입니다.
-
등장 배경 및 발전 과정:
- 해킹의 카오스 시대 (2000년대 초): 웹이 막 태동하며 SQL 인젝션, XSS 등 해킹이 미친 듯이 터졌지만 방어 기준이 없어 개발자들은 맞으면서 배웠다.
- OWASP Top 10 탄생 (2003): 전문가들이 빡쳐서 "웹 해킹은 결국 이 10개가 전부다!"라며 최초로 문서를 배포. 이후 전 세계 기업 보안팀의 신흥 종교로 급부상.
- 2017년에서 2021년으로의 진화 (현재): 과거엔 단순한 코드 버그(SQL 인젝션, XSS)가 1, 2위를 다퉜지만, 클라우드와 MSA 시대가 오자 "잘못된 설계(Insecure Design)", "권한 통제 실패(Broken Access Control)", "클라우드 설정 오류(Security Misconfiguration)" 같은 아키텍처 레벨과 인프라 레벨의 거대한 결함들이 1위로 치고 올라오는 패러다임 시프트가 일어났다.
-
📢 섹션 요약 비유: 이 10개의 리스트는 의대생들이 달달 외우는 **'한국인 사망 원인 Top 10 통계'**와 같습니다. 의사(아키텍트)가 환자(시스템)의 생명을 지키고 싶다면, 아프리카 열대병 1개를 연구할 시간에 암, 심장병, 뇌졸중(OWASP 1,2,3위)을 예방하고 수술하는 법을 먼저 뼈저리게 마스터해야만 수백만 명을 살려낼 수 있습니다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
1. OWASP Top 10 (2021) 영광의 순위와 핵심 해부 ★ (무조건 암기)
이 10개는 아키텍트가 잠꼬대로도 읊을 수 있어야 한다. 2017년 대비 2021년의 가장 큰 특징은 '코딩 실수'보다 '설계와 구조적 결함'이 최상위권으로 치고 올라왔다는 점이다.
| 순위 | 2021년 명칭 | 해커의 공격 방법 (현상) | 아키텍트의 방어 전략 (Mitigation) |
|---|---|---|---|
| A01 | 취약한 접근 제어 (Broken Access Control) 👑 1위 | 로그인만 하고 URL 숫자를 id=2로 슬쩍 바꾸면 남의 글이 수정/삭제됨. (478번 연계) | 모든 API 접근 시 컨트롤러 단이 아닌 백엔드 코어에서 "이 자원의 주인이 넌지" 철저히 권한 재검증(인가). |
| A02 | 암호화 실패 (Cryptographic Failures) | 주민번호, 비밀번호를 평문으로 DB에 박아넣음. 통신을 HTTP로 해서 공중에서 낚아챔. | 민감 데이터는 무조건 Bcrypt/Argon2 강력 해시 처리, 내부 통신망도 무조건 HTTPS/TLS 1.3 강제. |
| A03 | 인젝션 (Injection) | (과거 부동의 1위) 아이디 칸에 ' OR 1=1 을 넣으면 DB 전체가 시원하게 뚫려 나옴. | 쌩(Raw) 쿼리 문자열 조립 절대 금지. 무조건 PreparedStatement 바인딩 또는 JPA/ORM 사용. |
| A04 | 안전하지 않은 설계 (Insecure Design) 💥 NEW | 코드(구현)는 완벽한데 기획 자체가 멍청함. "비밀번호 찾기 질문"이 "어머니 이름?" 이라 페이스북 뒤져서 해킹함. | 1줄 치기 전에 위협 모델링(Threat Modeling, 474번) 수행 및 시프트 레프트(Shift-Left) 적용. |
| A05 | 보안 설정 오류 (Security Misconfiguration) | AWS S3 버킷 권한을 Public으로 뚫어놓음. 톰캣 디폴트 비번 admin/admin 그대로 씀. | 배포 전 **자동화된 인프라 스캐너(IaC 린터)**로 설정 찌꺼기 털어내고, 불필요한 포트/기능 전부 Disable. |
| A06 | 취약하고 낡은 요소 사용 (Vulnerable and Outdated Components) | 내 코드는 쩔지만, 다운받아 쓴 라이브러리가 3년 전 Log4j 라서 해커 맘대로 서버 원격 조종당함. | 젠킨스 파이프라인에 SCA(오픈소스 취약점 스캐너) 붙여서 낡은 라이브러리 있으면 빌드 터뜨리기. |
| A07 | 식별 및 인증 실패 (Identification and Auth Failures) | 비밀번호 1234 허용. 해커가 매크로로 초당 1만 개 비번 때려보는데 서버가 안 막아줌. | MFA(다중 인증, 2FA) 강제, 무차별 대입 방지(Rate Limiting) 및 계정 잠금 로직 떡칠. |
| A08 | 소프트웨어 및 데이터 무결성 실패 (Software and Data Integrity Failures) | CI/CD 서버가 털려서 배포되는 앱 패키지(Docker) 안에 몰래 랜섬웨어가 섞여서 배포됨. | 배포 파이프라인에 서명(Code Signing) 붙이고, 다운받는 플러그인의 Hash Checksum(무결성) 강제 검증. |
| A09 | 보안 로깅 및 모니터링 실패 (Security Logging and Monitoring Failures) | 털리고 있는데 털리는 줄 모름. 1달 뒤 경찰이 "너네 고객 정보 팔리고 있다"고 알려줘서 알게 됨. | 로그인 실패, 관리자 행동 등 모든 중요 행위를 **수정 불가능한 원격 로그 서버(Splunk 등)**에 실시간 적재 후 이상 탐지 알람. |
| A10 | 서버 사이드 요청 위조 (SSRF, Server-Side Request Forgery) 💥 NEW | 해커가 외부에서 우리 앱 서버에게 "야, 너 내부망에 있는 DB서버(192.168.x.x) 정보 좀 나한테 가져와봐!"라고 명령을 위조함. | 사용자가 던진 URL(Webhook 등)을 그대로 서버가 찌르지 못하게 엄격한 화이트리스트(Whitelist) 도메인 검증 및 내부망 분리. |
- 📢 섹션 요약 비유: 이 10가지 공격은 성을 터는 완벽한 시나리오입니다. 1위는 성문 경비병이 얼굴 확인을 대충하는 것(A01), 3위는 왕에게 가짜 명령서를 보내서 금고를 열게 하는 사기극(A03), 4위는 성벽은 높은데 애초에 지하 하수구 구멍을 사람만하게 뚫어놓은 바보 설계(A04), 9위는 털리고 있는데 CCTV도 안 켜놓고 자는 것(A09)입니다. 이것만 막아도 성은 절대 무너지지 않습니다.
Ⅲ. 융합 비교 및 다각도 분석
1. 2017년판 vs 2021년판의 트렌드 변화 (아키텍트의 통찰)
왜 순위가 바뀌었을까? 해커의 트렌드와 기술 발전의 융합을 꿰뚫어야 한다.
| 현상 (변화) | 통찰 (Insight) 및 아키텍처 패러다임 변화 |
|---|---|
| A03 인젝션의 추락 (1위 ➡ 3위) | 지난 10년간 가장 악명 높았던 SQL 인젝션이 1위에서 밀려났다. 왜? 개발자들이 똑똑해진 게 아니다. 프레임워크(Spring Data JPA, Hibernate, MyBatis)가 코딩 룰을 강제(PreparedStatement)하면서, 프레임워크가 알아서 99% 다 막아주게 시스템이 진화했기 때문이다. 프레임워크(인프라)의 힘이 인간의 실수를 압도했다. |
| A01 접근 제어(인가)의 등극 (5위 ➡ 1위) | 인젝션(문법)은 프레임워크가 막아주지만, "이 사용자가 이 글을 지워도 되는 놈인가?"(비즈니스 로직)는 프레임워크가 절대 대신 짜줄 수 없다. 오직 인간 아키텍트가 꼼꼼히 짜야 하는 영역이라 빵꾸가 제일 많이 난다. 결국 코딩(문법) 버그 시대는 저물고, 설계(논리) 결함 시대가 도래했다. |
| A04 안전하지 않은 설계 💥 (새로 진입) | 아예 "설계(Design) 빵꾸"를 하나의 거대한 카테고리로 못 박았다. 코드를 다 짜고 보안(오른쪽)을 하는 게 아니라, 기획 첫날 **위협 모델링(Threat Modeling)**과 **시프트 레프트(Shift-Left)**를 하지 않으면 평생 털린다는 DevSecOps 사상이 글로벌 절대 표준으로 융합 선포된 상징적 사건이다. |
과목 융합 관점
-
보안 (시큐어 코딩 가이드): OWASP Top 10은 대한민국 행정안전부가 배포하는
소프트웨어 보안약점 진단가이드(시큐어 코딩 47개 항목)의 뼈대(Origin)다. 즉, 공공기관이나 금융권 차세대 시스템을 오픈할 때, 젠킨스에 물려놓은SonarQube나Sparrow같은 정적 분석(SAST) 도구들이 바로 저 OWASP Top 10 룰셋(Rule Set)을 기준으로 100만 줄의 코드를 채점하고, 하나라도 빨간불이 뜨면 배포(Merge)를 박살 내버리는 법적/물리적 강제력을 가진다. -
인공지능 (LLM Security Top 10): 웹을 평정한 OWASP는 최근 챗GPT(LLM)가 난리를 치자, 즉시
OWASP Top 10 for LLM이라는 스핀오프 버전을 발표했다. "프롬프트 인젝션(Prompt Injection)", "과도한 권한(Overreliance)" 등 AI 시대에 해커들이 챗봇을 털어먹는 10가지 신종 족보를 재빨리 융합해 내어, AI 아키텍트들의 새로운 보안 바이블로 우뚝 섰다. -
📢 섹션 요약 비유: 이 순위표의 변화는 마치 **'자동차 사고 원인 통계'**와 같습니다. 옛날 1위(인젝션)는 '브레이크 파열'이었습니다. 그래서 차 회사가 ABS 브레이크(JPA 프레임워크)를 강제로 기본 장착시켜 버렸죠. 그러자 사고 원인 1위가 '졸음운전 및 신호 위반(A01: 잘못된 접근 제어 등 인간의 논리적 실수)'으로 휙 바뀌어버린 것입니다. 이제 기술자는 기계적 결함을 넘어 인간의 논리적 빵꾸를 시스템으로 막아야 합니다.
Ⅳ. 실무 적용 및 기술사적 판단
실무 시나리오
-
시나리오 — 오픈소스 폭탄 (A06)과 SCA 파이프라인의 구원: 어느 날 뉴스에 난리가 났다. 전 세계 자바 서버의 90%가 쓰는 로깅 도서관
Log4j에 미친 제로데이 구멍(로그만 쏘면 해커가 서버를 원격 조종)이 터진 것이다. CISO가 아키텍트에게 달려와 묻는다. "우리 회사 수백 개 서버 중에 Log4j 쓰는 거 어딨어?!" 아키텍트가 대답을 못 한다면 회사는 며칠 밤새워 10,000개의 소스코드를 눈으로 다 뒤져봐야 하고 그사이에 다 털린다.- 아키텍트의 해결책: A06(낡은 컴포넌트) 방어를 위한 종속성 명세서(SBOM) 인프라 구축이다. 내가 안 짠 남의 코드(오픈소스)에 뒤통수를 맞는 시대다. 아키텍트는 젠킨스(Jenkins) CI/CD에 무조건 SCA(Software Composition Analysis) 스캐너를 달아놓고, 우리 앱이 돌아가기 위해 뱃속에 담고 있는 수백 개의 라이브러리 목록을
SBOM(Software Bill of Materials)이라는 문서로 1초 만에 쫙 뽑아내는 체계를 구축해 두어야 한다. 그래야 사태 터진 1분 만에 "결제 서버 3대 패치 요망!"이라고 조준 타격할 수 있다.
- 아키텍트의 해결책: A06(낡은 컴포넌트) 방어를 위한 종속성 명세서(SBOM) 인프라 구축이다. 내가 안 짠 남의 코드(오픈소스)에 뒤통수를 맞는 시대다. 아키텍트는 젠킨스(Jenkins) CI/CD에 무조건 SCA(Software Composition Analysis) 스캐너를 달아놓고, 우리 앱이 돌아가기 위해 뱃속에 담고 있는 수백 개의 라이브러리 목록을
-
시나리오 — 클라우드 만능주의가 부른 끔찍한 A05 (보안 설정 오류) 대참사: 스타트업 개발자가 "AWS 쓰면 아마존이 보안 다 책임져준대!"라며 신나게 회원 사진을 S3 버킷에 올렸다. 귀찮으니까 접근 권한(IAM)을
Public Read/Write(전체 공개)로 대충 뚫어놓고 배포했다. 다음 날 구글 검색 로봇이 그 S3를 긁어가고, 전 세계 누구나 회원 10만 명의 신분증 사진을 URL만 치면 볼 수 있게 다운로드되며 회사가 파산했다. 소스코드는 100점 완벽했다. 문제는 인프라 설정(Config)이었다.- 아키텍트의 해결책: 클라우드 공동 책임 모델(Shared Responsibility) 망각에 따른 A05 재앙이다. 아마존은 서버가 안 꺼지는 물리적 철조망만 쳐줄 뿐, 그 안에 문을 열어두고 자는 건(클라우드 설정 오류) 100% 고객 책임이다. 아키텍트는 AWS를 손으로(마우스 클릭) 세팅하게 두면 절대 안 된다. **Terraform 같은 IaC(인프라 코드)**로 짠 뒤,
Checkov같은 정적 스캐너를 돌려 "어? 이 Terraform 코드대로 AWS 올리면 퍼블릭(Public) 열리는데? 배포 폭파해!"라고 클라우드 인프라 자체의 보안 룰을 파이프라인에 강제 내재화시켜야 한다.
- 아키텍트의 해결책: 클라우드 공동 책임 모델(Shared Responsibility) 망각에 따른 A05 재앙이다. 아마존은 서버가 안 꺼지는 물리적 철조망만 쳐줄 뿐, 그 안에 문을 열어두고 자는 건(클라우드 설정 오류) 100% 고객 책임이다. 아키텍트는 AWS를 손으로(마우스 클릭) 세팅하게 두면 절대 안 된다. **Terraform 같은 IaC(인프라 코드)**로 짠 뒤,
도입 체크리스트
- 조직적: 모의 해킹(Penetration Test) 결과서의 목차가 OWASP를 따르는가? 외부 화이트해커한테 3천만 원 주고 모의 해킹을 맡겼다. 보고서를 받았는데 "A 구멍 발견됨. 고치셈" 이렇게만 써 있다면 돈 버린 것이다. 반드시 보고서 포맷을 "발견된 구멍 A는 OWASP Top 10 중 A01 (접근 제어)에 해당하며, DREAD 점수 8점이니 즉시 패치 요망"이라고 철저하게 매핑(Mapping)하도록 요구해야, 경영진이 "아, 우리가 올해 1위짜리 핵심 위협에 털릴 뻔했구나"라고 심각성을 인지하고 예산을 열어준다.
- 기술적: 개발자 교육이 뜬구름 잡는 소리인가, 구체적 예시인가? 1년에 한 번 하는 보안 교육 때 "해킹을 조심합시다" 비디오를 틀어주는 건 쓰레기다. 아키텍트는 사내 교육 시간에 우리 회사의 코드를 직접 스크린에 띄워놓고, "자, 작년에 터졌던 이 버그가 바로 OWASP A03 인젝션입니다. 이걸 이렇게
PreparedStatement로 고친 거 보이시죠?" 라며 OWASP 10개 항목을 사내 실제 사례 코드로 1:1 매칭시켜 뇌에 꽂아주는 실전 훈련을 시켜야만 개발자들의 타이핑 습관이 바뀐다.
안티패턴
-
"OWASP 10개 다 외웠으니까 이제 보안 끝!" (체크리스트의 함정): 경영진과 개발팀이 OWASP Top 10을 무슨 '부적'처럼 여기는 안티패턴. 이 10개는 가장 흔한 것일 뿐, 이것만 막는다고 절대 무적이 되는 것이 아니다. 해커는 11위, 12위에 있는 기상천외한 우회 공격이나, 우리 회사 비즈니스 도메인(예: 게임 매크로, 금융 사기)에만 존재하는 특수한 로직 공격(Business Logic Flaw)으로 파고든다. OWASP는 가장 최소한의 방탄조끼(Baseline)일 뿐, 완벽한 방패(Silver Bullet)로 맹신하면 11번째 구멍으로 반드시 털린다.
-
📢 섹션 요약 비유: OWASP 10가지만 맹신하는 것은, **'집 도둑 방지 10계명(창문 닫기, 현관문 잠그기 등)'**만 달달 외운 다음, 우리 집 마당 땅속에서 하수구를 뚫고 올라오는 두더지 도둑(우리 회사만의 특수한 로직 버그)은 아예 상상도 못 하고 안방을 내어주는 꼴과 같습니다. 10계명은 기본으로 깔고, 내 집만의 독특한 구조(비즈니스 로직)를 들여다보는 위협 모델링(Threat Modeling) 칠판 회의를 멈추면 안 됩니다.
Ⅴ. 기대효과 및 결론
정량/정성 기대효과
| 구분 | 개발자의 감에 의존한 파편화된 방어 (AS-IS) | OWASP Top 10 기반의 집중적 시큐어 코딩 및 스캔 (TO-BE) | 개선 효과 |
|---|---|---|---|
| 정량 | 수만 가지 방어 기법을 공부하느라 시간 낭비 및 핵심 놓침 | Top 10 치명적 항목만 타겟팅하여 100% 철통 방어 완료 | 한정된 보안 예산 및 인력의 ROI(방어 효율) 압도적 극대화 |
| 정량 | 운영 환경에서 발생하는 잡다한 해킹 사고 연 20건 | Top 10 룰셋 SAST 자동 방어로 런타임 뚫림 현상 제로화 | 웹 해킹(Web Exploit)으로 인한 데이터 유출 사고 발생률 95% 감소 |
| 정성 | "해킹? 그거 천재들만 하는 거 아님?" 이란 방관자 마인드 | "아, A01번 룰 어겼네. 당장 고치자"는 실전 마인드셋 장착 | 조직 전반에 보안을 구체적이고 만질 수 있는 실무(Practice)로 격상 |
미래 전망
- AI에 의한 OWASP 자동 힐링(Auto-healing): 과거엔 OWASP 문서를 인간이 읽고 짰다. 지금 젠킨스(CI/CD) 파이프라인에 탑재된 초거대 AI는, 개발자가 코드 리뷰(PR)를 올리면 1초 만에 "어? 네 코드 123번째 줄이 OWASP 2021 A03 룰을 정면으로 위반했어. 해커가 털어먹기 딱 좋아. 넌 퇴근할 자격이 없으니 내가 이렇게 방어 코드로 싹 고쳐줄게(Auto-Patch). 승인(Approve) 눌러!"라며 인간 대신 OWASP 헌장을 들이대며 코드를 자율 수정하는 구원자 역할로 진화하고 있다.
- 분야별 Top 10의 무한 증식: 이제 '웹(Web)' 하나로 세상이 돌아가지 않는다. OWASP 재단은 웹을 평정한 뒤, 모바일 앱을 털어먹는
OWASP Mobile Top 10, API 서버끼리 찌르는API Security Top 10, 사물인터넷(IoT)을 털어먹는IoT Top 10, 그리고 최신 **LLM(챗GPT) Top 10**까지 전 IT 생태계의 모든 기기별 해킹 족보를 무한 복제해 내며 전 지구적 사이버 보안의 절대 지배자로 군림하고 있다.
참고 표준
- OWASP (Open Web Application Security Project): "소프트웨어 보안을 전 인류에게 투명하게 알려주자"며 모인 오픈소스 비영리 글로벌 해커/보안 전문가 집단. 이들이 찍어내는 문서는 전 세계 법원 판결문 급의 권위를 가진다.
- CWE (Common Weakness Enumeration): OWASP가 "이런 구멍이 젤 위험해!(Top 10)"라고 트렌드를 찝어주는 방송국이라면, CWE는 세상에 존재하는 1,000만 가지의 쪼잔한 모든 빵꾸(취약점 원인)들에 일련번호(CWE-89 등)를 달아서 백과사전처럼 모아둔 지루하지만 위대한 글로벌 약점 박물관. OWASP Top 10의 뒤에는 항상 이 CWE 번호들이 뿌리(근거)로 물려 있다.
OWASP Top 10은 막연한 '보안의 공포'를 명확한 '엔지니어링의 타겟'으로 강제 치환해 낸 사이버 보안 역사상 가장 위대한 실용주의의 금자탑이다. 해킹이라는 보이지 않는 적을 상대하기 위해 개발자 전원이 화이트해커가 될 필요는 없다. 기술사는 두꺼운 보안 원서 1,000페이지를 개발자들에게 던지며 훈계하는 멍청한 학자가 되어서는 안 된다. 단 한 장의 종이에 10개의 빨간색 리스트(OWASP)를 적어 팀원들 모니터 앞에 강제로 붙여놓고, "다른 거 다 까먹어도 좋으니, 오직 이 10가지 바늘구멍만 네가 짠 코드에서 완벽하게 시멘트로 틀어막아라!"라고 선언하는, 가장 무식해 보이지만 가장 압도적인 생존 확률을 담보하는 야전 사령관이 되어야 한다.
- 📢 섹션 요약 비유: OWASP Top 10은 권투 선수의 **'급소 방어 10계명'**입니다. 싸움에서 이기기 위해 세상의 모든 화려한 무술(해킹 기법)을 다 배울 필요는 없습니다. 턱, 관자놀이, 명치, 간(가장 맞으면 즉사하는 치명적 급소 10개)만 양팔로 철저하고 집요하게 가드(방어)하는 법만 몸에 익혀도, 웬만한 양아치(일반 해커)들의 주먹 100방을 거뜬히 튕겨내고 살아남아 승리(서비스 성공)할 수 있는 가장 훌륭하고 가성비 넘치는 생존 전투 교본입니다.
📌 관련 개념 맵 (Knowledge Graph)
| 개념 명칭 | 관계 및 시너지 설명 |
|---|---|
| 취약한 접근 제어 (Broken Access) | 2021년 영광의 1위를 차지한 최악의 끝판왕 버그. 코딩(문법)의 문제가 아니라, "너 이거 지울 권한 있어?"를 검증 안 한 아키텍트의 논리(설계) 빵꾸가 빚은 대재앙. (다음 장 478번) |
| SQL 인젝션 (Injection) | 10년 넘게 부동의 1위를 처먹다 3위로 밀려난 레전드 버그. 해커가 입력창에 마법의 주문('OR 1=1)을 넣으면 서버가 바보처럼 DB 문을 활짝 열어주던 코미디의 시대. |
| 시큐어 코딩 (Secure Coding) | OWASP Top 10을 막기 위한 방패술. "제발 SQL 문자열 + 기호로 더해서 짜지 마!"라며 개발자의 나쁜 타이핑 습관을 규약으로 묶어버리는 훈련소. |
| 정적 분석 (SAST, SonarQube) | OWASP Top 10 족보를 뇌에 박아둔 인공지능 탐지 로봇. 개발자가 코드를 Push하면 1분 만에 훑어보고 "너 A03번(인젝션) 룰 위반했어!"라며 배포를 박살 내는 든든한 수문장. |
| 안전하지 않은 설계 (Insecure Design) | 2021년에 4위로 혜성처럼 등장한 룰. "코드를 아무리 잘 짜면 뭐해, 기획 설계부터 썩었구만!" 이라며 위협 모델링(Threat Modeling)과 시프트 레프트(Shift-Left)를 강제 선언한 혁명적 지표. |
👶 어린이를 위한 3줄 비유 설명
- 내가 세상에서 제일 멋진 모래성을 만들었는데, 맨날 동네 꼬마 악당들(해커)이 와서 무너뜨리고 도망갔어요. 너무 화가 났죠.
- 그때 동네 최고 모래성 장인 아저씨들이 모여서 **"악당들이 모래성을 부수는 가장 흔한 수법 10가지(물 붓기, 막대기 찌르기 등)"**를 적은 마법의 방어 비법서(족보)를 주셨어요!
- 내가 쓸데없이 대포를 만들 필요 없이, 이 비법서에 적힌 딱 10가지 약점만 꼼꼼하게 막아내면 악당들의 공격 90%를 막을 수 있는 전 세계 공통 방어 가이드북을 **'OWASP Top 10'**이라고 부른답니다!