보안 점검을 받으려고 견적을 요청하면 보통 두 가지가 옵니다. 몇십만 원짜리 자동 취약점 스캔과, 그 몇 배 가격의 모의해킹입니다. 얼핏 보면 자동 스캔이 훨씬 이득처럼 느껴집니다. 하루면 끝나는데 리포트까지 준다니까요. 그런데 자동 스캔은 소프트웨어에서 가장 흔한 결함을 잡지 못합니다. 바로 접근 통제 취약점(Broken Access Control)으로, **OWASP가 점검한 앱의 100%**에서 발견된 애플리케이션 위험 1위입니다. 자동 스캔에서 심각한 문제가 하나 나왔다면, 모의해킹이라면 찾아냈을 다른 취약점도 그만큼 놓쳤다는 뜻입니다.

자동 취약점 스캔
자동 취약점 스캔은 빠르고 저렴합니다. 언제나 동작하고, 자기가 하는 일은 확실히 잘합니다. 알려진 취약점(CVE), 누락된 패치, 만료된 인증서, 뻔한 설정 오류 같은 것들 말입니다.
공격자가 침입에 악용할 만한 뻔한 설정 실수나 알려진 취약점이 시스템에 있는지 찾아 줍니다.
자동 스캔을 처음 돌려 보면 대개 심각한 문제 몇 개가 나옵니다. 그것들을 고치고 나면 뿌듯한 기분이 들죠. "아... 이제 두 다리 뻗고 자겠다. 구멍은 다 막았어!"
옳은 첫걸음을 뗀 것은 맞지만, 아직 문을 넘어서지는 못했습니다. 스캐너는 문 하나일 뿐이고, 본질적으로 매우 얕습니다. 스캔에서 심각한 문제가 나온다면, 그것은 오히려 더 깊이 들어가야 한다는 급한 신호입니다. 스캐너가 찾아 준 취약점을 고쳤다고 해서 웹사이트가 "안전"해지는 것은 아닙니다.
더 깊이 들어가기
전통적인 스캐너가 애초에 확인할 능력이 없는 것들이 있습니다. 스캐너는 여러분의 시스템을 이해하지 못합니다. 무엇이 정상 동작이고 무엇이 이상 동작인지 알지 못합니다. 어떤 애플리케이션에서도 돌아가도록 만들어졌기에, 여러분의 특정 기술 스택과는 완전히 무관하게 작동합니다.
예를 들어 전통적인 스캐너는 어떤 요청이 동작하는지는 확인합니다. 하지만 그 요청이 여러분의 내부 프로그램 로직상 허용됐어야 하는지는 확인하지 않습니다.
"이 사용자가 이 청구서를 열 수 있어야 하나? 이 가격을 바꿀 수 있어야 하나? 이 관리자 페이지에 접근할 수 있어야 하나?" — 이런 질문은 모두 접근 통제(Access Control)에 관한 것입니다. 시스템의 사용자가 해서는 안 될 행동을 할 수 있을 때, 그것을 접근 통제 취약점(Broken Access Control)이라고 부릅니다. 웹 앱에서 1위 애플리케이션 취약점인데, 바로 그것이 로직 판단의 문제라 잡아내기가 더 어렵기 때문입니다. 스캐너는 HTTP 200 응답을 보고 _성공_으로 기록합니다. 방금 1002번 주문을 불러온 사용자가 원래 1001번 주문만 볼 수 있었어야 한다는 사실은 전혀 알지 못합니다.

물론 최근에는 이런 종류의 취약점까지 탐지하는 고급 자동 스캐너도 점점 늘고 있습니다. 다만 그런 도구의 가격표는 때로 모의해킹보다 더 비쌉니다.
하지만 단순히 로직 불일치를 찾는 것을 넘어, 전문가를 고용하면 도구는 결코 줄 수 없는 가치를 얻습니다.
사람은 목표를 갖고 공격한다
진짜 공격자는 체크리스트를 따라가지 않습니다. 목표가 있고, 그 목표에 닿기 위해 찾아낸 것들을 엮습니다. 여기서 사소한 정보 노출 하나, 저기서 약한 기본 설정 하나. 이런 작은 부스러기들을 모아 결국 여러분의 고객 데이터베이스까지 이어 붙입니다. 그렇게 하려면 여러분의 비즈니스와 프로세스, 시스템을 이해해야 합니다.

게다가 모의 해커는 실제 '사람'입니다. 여러분이 시스템에 대해 물어볼 생각조차 못 했을 질문을 수백 개 던집니다. 도구를 돌려 볼 생각조차 안 했던 구멍까지 하나하나 찔러 봅니다. 좋은 모의해킹은 결국 대화입니다. 여러분의 개발자들은 테스터가 어떻게 뚫고 들어왔는지 지켜보고, 그 수정이 왜 유효한지 묻고, 다음 기능을 배포하기 전에 "이건 어떻게 뚫릴까?"를 스스로 묻기 시작합니다.
자동 스캔이 구멍을 메우는 것을 돕는다면, 레드팀과의 이 주고받음은 여러분 팀이 무언가를 만드는 방식 자체를 근본적으로 바꿉니다.
요컨대, 스캐너는 무엇이 망가졌는지 목록을 만들어 줄 뿐입니다. 모의해킹은 훨씬 더 많은 일을 합니다.
- 존재하는 줄도 몰랐던 시스템을 찾아냅니다.
- 복잡한 비즈니스 로직 취약점을 찾아냅니다.
- 안전한 소프트웨어를 만드는 법을 팀에 가르칩니다.
- 더 성숙한 프로세스로 발전하도록 돕습니다.
그런데 모의해킹이 정말 필요한 시점은 따로 있습니다. 이전 글에서 자세히 다뤘습니다.
"보안 리포트"를 받아 들고 안심했다가 또 침해를 당한 적 있으신가요? Panke와 함께하기
참고 자료
- OWASP Top 10:2025 — A01 Broken Access Control
