Showing Posts From
취약점
- 07 Dec, 2025
핀테크 회사에서 보안 QA가 필수인 이유 - 금융 데이터를 지키는 사람
핀테크 회사에서 보안 QA가 필수인 이유 - 금융 데이터를 지키는 사람 아침 9시, 출근하면 제일 먼저 하는 일 출근했다. 커피 먼저. 그리고 뉴스. 일반 QA는 기능 동작 확인한다. 나는? CVE 목록부터 본다. Common Vulnerabilities and Exposures. 어젯밤 새로 발견된 취약점들. "Spring Framework 제로데이 취약점 발견. RCE 가능." 우리 회사 스택이다. 커피 식었다. CTO한테 슬랙 메시지 보냈다. "긴급. 미팅 필요합니다." 답장 3분 만에 왔다. "회의실 10분 후." 핀테크는 이렇다. 다른 회사는 "다음 주 패치하죠" 할 수 있다. 우리는? 당장 오늘. 고객 돈 다룬다. 실시간이다. 한 번 뚫리면 끝이다.핀테크 보안이 다른 이유 일반 서비스는 개인정보 유출이 최악이다. 핀테크는? 돈이 직접 나간다. 작년에 다른 핀테크 회사 사건 있었다. API 인증 우회 취약점. 3시간 만에 2억 인출됐다. 회사 망했다. 서비스 종료. 우리 회사 개발자 120명. 보안팀은 5명. 비율로 보면 적다. 근데 이게 맞다. 소수 정예여야 한다. 내 연봉 7000만원. 같은 연차 일반 QA는 5000 정도다. 2000만원 차이. 왜? 책임의 무게다. 내가 놓친 취약점 하나가 회사를 무너뜨린다. 고객 자산을 날린다. 금융위원회에서 제재 들어온다. 뉴스에 나온다. "○○페이, 보안 취약점으로 100억 피해" 헤드라인 상상만 해도 식은땀 난다. 매일 아침 CVE 체크하는 이유다. 매일 밤 침투 테스트하는 이유다. 주말에도 버그바운티 확인하는 이유다. 돈을 지키는 게 내 일이다. 한 번의 해킹이 회사에 미치는 영향 구체적으로 계산해봤다. 실제로. 우리 회사 일일 거래액 평균 50억. 서비스 1시간 다운되면? 약 2억 손실. 고객 이탈까지 계산하면 10억 넘는다. 보안 사고는 더 심각하다. 직접 피해:해킹으로 인한 금전 손실: 수십억 서비스 복구 비용: 5억~10억 법적 대응 비용: 3억~5억간접 피해:고객 이탈률 30~50% 신규 고객 유입 -70% 기업 가치 평가 -40% 투자 유치 불가능규제 제재:금융위 과징금: 수십억 영업정지 가능성 라이선스 취소 위험작년에 한 간편결제 업체가 당했다. XSS 취약점 통한 세션 하이재킹. 고객 계좌정보 3만 건 유출. 결과? 회사 매각. 창업자 물러남. 직원 절반 정리해고. 내가 그 회사 보안 담당자 알았다. 같이 CTF 대회 나갔던 형이다. 지금은 연락 안 된다. 무겁다. 이 일이.보안 QA의 실제 업무 오전 10시. 신규 기능 보안 테스트 시작했다. 이번 주에 출시되는 '간편 송금' 기능. 개발팀에서 QA 완료했다고 한다. 이제 내 차례. 체크리스트:인증/인가JWT 토큰 검증 우회 가능? 다른 사용자 계좌로 접근 가능? 토큰 만료 시간 적절?입력값 검증SQL Injection 가능? XSS 가능? 금액 음수 입력 막혔나? 금액 오버플로우 처리했나?API 보안Rate limiting 있나? 금액 변조 가능? 응답에 민감정보 노출되나?비즈니스 로직잔액보다 많이 송금 가능? 동시 요청 처리 문제없나? 취소/환불 로직 허점 없나?Burp Suite 켰다. 프록시 설정. 요청 하나씩 캡처한다. 30분 지났다. 찾았다. 송금 API에 금액 파라미터 음수 넣으니까 통과된다. -10000원 송금. 잔액이 늘어난다. "...이거 실화냐." 개발팀 단톡방에 올렸다. "@전체 긴급. 송금 API 음수 처리 안 됨. 악용 가능. 즉시 수정 필요." 답장이 쏟아진다. "헐 진짜요?" "테스트는 다 했는데..." "QA에서 통과 안 했나요?" 일반 QA는 정상 시나리오만 테스트한다. 10000원 넣으면 잘 되는지. 나는? 공격자처럼 생각한다. -10000원 넣으면 어떻게 되는지. 이게 보안 QA다. 침투 테스트의 스릴과 공포 오후 2시. 모의해킹 시간이다. 분기마다 한 번씩 한다. 회사 시스템을 실제로 해킹해보는 거다. 합법적으로. CTO 승인받고. 목표: 고객 계좌정보 접근하기. 공격 시나리오: 1단계: 정찰서브도메인 스캐닝 (Subfinder) 포트 스캐닝 (Nmap) 기술 스택 파악 (Wappalyzer)2단계: 취약점 발견숨겨진 관리자 페이지 찾기 API 엔드포인트 브루트포싱 구버전 라이브러리 취약점 검색3단계: 침투발견한 취약점 익스플로잇 권한 상승 시도 내부 네트워크 접근스캐닝 시작했다. Nmap 돌린다. PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https 3000/tcp open ppp3000번 포트? 뭐지. 접속해봤다. 개발용 대시보드가 떴다. 인증도 없다. 실서버에 개발 포트가 열려있다. "아..." 여기서 DB 접속 정보 보인다. Redis 키도 보인다. 세션 토큰도 보인다. 게임 끝났다. 10분 만에 뚫렸다. 스릴 있다. 취약점 찾을 때 아드레날린 솟는다. 근데 동시에 공포스럽다. '만약 진짜 해커가 찾았으면?' 손 떨린다. 리포트 쓴다.개발팀과의 갈등과 협업 리포트 보냈다. 개발팀 반응은 두 가지다. 반응 1: 인정형 "와 이거 큰일 날 뻔했네요. 바로 고치겠습니다." 이런 개발자 최고다. 같이 일하기 좋다. 반응 2: 방어형 "이건 엣지 케이스예요. 실제로는 안 일어나요." "이거 고치려면 시간 많이 걸려요. 우선순위 낮춰주세요." "보안팀이 너무 빡빡하게 보는 거 아닌가요?" 이럴 때 힘들다. 작년에 있었던 일이다. 인증 우회 취약점 발견했다. Critical 등급. 개발팀에 보고했다. "다음 스프린트에 넣을게요." 2주 뒤다. 안 된다. 당장 고쳐야 한다. 다시 말했다. "보안팀이 일정 자꾸 바꾸면 곤란합니다." CTO 불렀다. 시연했다. 실제로 계좌 조회를 다른 사용자 토큰으로 했다. 5분 만에 수정 지시 나왔다. 보안 QA의 딜레마:너무 빡빡하면 → 개발 속도 저하, 관계 악화 너무 느슨하면 → 취약점 방치, 사고 위험균형이 중요하다. 근데 어렵다. 나는 이렇게 한다:위험도 명확히 설명 실제 공격 시나리오 시연 비즈니스 영향 계산 수정 방법까지 제안"이 취약점으로 하루 10억 피해 가능합니다. 코드 3줄 추가하면 막힙니다." 이렇게 말하면 대부분 수긍한다. 밤샘 작업과 긴급 패치 밤 11시. 퇴근하려는데 전화 왔다. CTO다. "지금 상황실 올 수 있어? 긴급이야." 심장 뛴다. 뭔가 터졌다. 상황실 도착했다. 개발자 10명 모여있다. 분위기 심각하다. "외부 보안 연구원이 제보했어. 우리 API에서 IDOR 취약점 발견했대." IDOR. Insecure Direct Object Reference. 다른 사용자 데이터 접근 가능한 취약점. 제보 내용 확인했다. 맞다. /api/user/{userId}/account 엔드포인트. userId만 바꾸면 다른 사람 계좌 조회된다. "몇 명이 접근했나요?" "로그 확인 중인데... 약 50건." 최악은 아니다. 근데 방치하면 확산된다. 긴급 대응 프로세스:즉시 해당 API 차단 (5분) 영향받은 고객 파악 (30분) 패치 개발 및 테스트 (2시간) 배포 및 모니터링 (1시간) 고객 공지 준비 (다음날)새벽 3시까지 일했다. 패치 완료. 배포 성공. 모니터링 정상. 집 가는 택시 안에서 생각했다. '만약 제보자가 악의적이었으면?' '만약 발견이 2주 늦었으면?' 등골이 서늘하다. 이게 핀테크 보안 QA의 현실이다. 24시간 대기조. 언제든 터질 수 있다. 집 도착. 새벽 4시. 씻고 침대 누웠다. 눈 감히지 않는다. '또 놓친 게 있을까?' 이 생각이 떠나지 않는다. 버그바운티와 화이트 해커 문화 주말이다. 카페 왔다. 노트북 켰다. 회사 일 아니다. 개인 프로젝트다. 버그바운티. 버그바운티 프로그램. 기업이 취약점 발견하면 포상금 주는 거다. 합법적으로 해킹하고 돈 받는다. 유명 플랫폼:HackerOne Bugcrowd 국내: 버그바운티 코리아지난 달 성과:XSS 취약점 발견: $500 API 권한 상승 취약점: $1500 정보 노출 취약점: $300총 $2300. 약 300만원. 용돈 치고는 괜찮다. 근데 돈이 전부는 아니다. 버그바운티 하는 이유:실력 향상다양한 서비스 구조 경험 최신 취약점 트렌드 파악 실전 감각 유지네트워킹다른 해커들과 교류 취약점 공유 및 토론 채용 기회 연결윤리적 만족인터넷을 더 안전하게 화이트 해커로서 기여 악용 전에 발견작년에 한 대기업 쇼핑몰에서 Critical 취약점 찾았다. SQL Injection. 전체 고객 DB 접근 가능한 수준. 제보했다. 포상금 $5000. 약 650만원. 그리고 감사 메일 받았다. "덕분에 큰 사고 막았습니다. 감사합니다." 이 한 줄이 좋았다. 돈보다. 화이트 해커 문화가 중요한 이유다. 발견한 취약점을 악용하지 않고 제보한다. 기업은 정당한 보상을 한다. 선순환이다. 블랙 해커와 화이트 해커. 기술은 같다. 선택이 다를 뿐. 나는 지키는 쪽을 선택했다. 보안 공부는 끝이 없다 월요일 아침. 출근 지하철에서 책 읽는다. "Web Application Hacker's Handbook" 3번째 정독이다. 볼 때마다 새롭다. 보안 분야는 변화가 빠르다. 어제의 안전이 오늘의 취약점이다. 최근 공부 목록:GraphQL 보안 이슈 JWT 취약점 패턴 클라우드 보안 (AWS, GCP) 컨테이너 보안 (Docker, K8s) AI/ML 모델 공격 기법매일 2시간은 공부한다. 퇴근 후 1시간, 주말 5시간. 공부 루틴: 월/수/금: 온라인 강의 (Udemy, Pluralsight) 화/목: CTF 문제 풀기 (HackTheBox) 주말: 기술 블로그 읽고 정리 월 1회: 보안 컨퍼런스 참석 작년에 DEFCON 다녀왔다. 라스베가스. 세계 최대 해킹 대회. 회사에서 지원해줬다. 거기서 본 게 충격이었다. 내가 아는 건 빙산의 일각이다. 세상엔 천재들이 많다. IoT 해킹, 차량 해킹, 위성 해킹. 상상도 못 한 것들. 동시에 생각했다. '우리 회사는 안전한가?' 돌아와서 IoT 결제 단말기 보안 점검 제안했다. 승인 받았다. 실제로 취약점 2개 찾았다. 공부가 회사를 지킨다. 책임감과 연봉의 관계 연말 평가 시즌이다. 연봉 인상 협상했다. 현재 7000만원. 요구 금액 8000만원. 1000만원 인상. 근거 제시했다: 올해 성과:Critical 취약점 12건 발견 및 수정 모의해킹 4회 실시, 평균 위험도 50% 감소 보안 사고 0건 (업계 평균 2.3건) 버그바운티 제보로 외부 이미지 개선 신입 보안 QA 교육 및 온보딩시장 가치:동급 경력 타사 연봉: 7500~9000만원 최근 스카웃 제안: 8500만원 보안 인력 수요 증가율: 연 15%CTO 반응: "고민해볼게요." 일주일 뒤 답 왔다. 7800만원. 800만원 인상. 요구보다 200만원 적다. 근데 만족한다. 연봉이 높은 이유:희소성보안 QA 인력 부족 실무 경험자 더 적음 양성 기간 최소 3년책임의 무게한 번의 실수가 회사 존망 24시간 긴장 상태 정신적 스트레스 높음지속적 학습끊임없는 기술 습득 개인 시간 투자 많음 평생 공부 필수대체 불가능성자동화 어려움 인간의 창의성 필요 공격자 마인드셋 필수일반 QA는 테스트 케이스 수행한다. 나는? 존재하지 않는 케이스를 찾는다. "이렇게 하면 뚫릴까?" "공격자라면 어떻게 할까?" "여기가 약점일까?" 이게 내 연봉의 근거다. 보안 사고 대응 매뉴얼 책상 서랍에 빨간 봉투가 있다. "보안사고 대응 매뉴얼". 열어본 적 없다. 근데 매달 업데이트한다. 언젠가 필요할 수 있다. 단계별 대응 절차: Phase 1: 탐지 (Detection)이상 징후 모니터링 알림 로그 분석 및 공격 패턴 확인 영향 범위 1차 파악 경영진 즉시 보고Phase 2: 격리 (Containment)공격 경로 차단 영향받은 서비스 분리 추가 피해 확산 방지 증거 보존Phase 3: 제거 (Eradication)악성 코드/백도어 제거 취약점 패치 시스템 무결성 검증 재침투 가능성 차단Phase 4: 복구 (Recovery)서비스 단계적 재개 데이터 복원 및 검증 모니터링 강화 정상화 확인Phase 5: 사후 분석 (Post-Incident)원인 분석 보고서 재발 방지 대책 프로세스 개선 교육 및 훈련실제로 쓸 일 없기를 바란다. 근데 준비는 해야 한다. 작년에 모의 훈련했다. 가상 랜섬웨어 공격 시나리오. 전 직원 참여. 혼란스러웠다. 누가 뭘 해야 하는지 애매했다. 의사결정 느렸다. 그 경험으로 매뉴얼 3번 수정했다. 더 구체적으로. 연락망 명확히. 역할 세분화. 다음 훈련 때는 30분 단축됐다. 발전이다. 퇴근길 생각들 저녁 7시. 퇴근한다. 오늘도 무사히. 지하철 타고 집 간다. 핸드폰 본다. 보안 뉴스 체크. "미국 대형 은행 해킹, 2000만 고객정보 유출" 한숨 나온다. 또. 얼마 만에. 보안은 끝이 없다. 100번 막아도 한 번 뚫리면 끝이다. 공격자는 한 번만 성공하면 된다. 방어자는 매번 성공해야 한다. 불공평하다. 근데 이게 현실이다. 이 일을 계속하는 이유:누군가는 해야 하는 일 고객 자산 지킨다는 자부심 기술적 도전이 재미있음 화이트 해커로서의 정체성 적절한 보상 (솔직히 중요)가끔 생각한다. '일반 개발자 할까?' 코드 짜고, 기능 만들고, 배포하고. 스트레스 덜할 것 같다. 근데 못 한다. 이미 보안으로 세상을 본다. API 보면 취약점이 보인다. 웹사이트 들어가면 공격 벡터가 보인다. 직업병이다. 고칠 수 없다. 집 도착했다. 문 열고 들어간다. 노트북 가방 내려놓는다. 여자친구한테 문자 왔다. "저녁 먹었어?" "아직. 같이 먹을까?" "응 나갈게." 씻는다. 편한 옷 입는다. 거울 본다. 피곤해 보인다. 근데 괜찮다. 오늘도 회사 지켰다. 고객 돈 지켰다. 그걸로 충분하다. 내일도 출근한다. CVE 체크한다. 취약점 찾는다. 리포트 쓴다. 반복이다. 근데 중요한 반복이다. 핀테크 보안, 선택이 아닌 필수 마지막으로 정리한다. 핀테크 회사에 보안 QA가 필수인 이유. 간단하다. 돈을 다루기 때문이다. 일반 서비스는 다시 시작할 수 있다. 데이터 복구하고, 사과하고, 보상하고. 핀테크는? 한 번 털리면 끝이다. 고객 신뢰 회복 불가능. 금융 라이선스 박탈. 회사 문 닫는다. 그래서 보안 QA가 존재한다. 그래서 높은 연봉 받는다. 그래서 24시간 긴장한다. 우리가 하는 일:공격자보다 먼저 취약점 찾기 개발팀이 놓친 보안 이슈 발견 실제 해킹 시나리오 테스트 최신 공격 기법 연구 및 대응 보안 사고 예방 및 대응무거운 책임이다. 근데 해야 할 일이다. 고객은 모른다. 내가 밤새 취약점 찾는다는 걸. 주말에도 모니터링한다는 걸. 긴급 패치로 사고 막았다는 걸. 몰라도 된다. 그게 내 일이다. 조용히 지킨다. 눈에 보이지 않게. 사고 나지 않게. 보안의 역설: 완벽하게 일하면 아무도 모른다. 실패하면 모두가 안다. 그래도 한다. 이게 프로다.오늘도 아무 일 없었다. 그게 성공이다.
- 03 Dec, 2025
SQL Injection과 XSS는 자동으로 눈에 들어온다 - 보안 QA의 강박관념
SQL Injection과 XSS는 자동으로 눈에 들어온다 - 보안 QA의 강박관념 눈에 보이는 게 달라졌다 아침 출근길. 지하철에서 폰으로 뉴스 앱 켰다. 로그인 화면 보자마자 머릿속에 자동으로 떠올랐다. '이 입력 폼, 파라미터 검증 되나?' 회사 도착. 엘리베이터 광고 화면에 QR코드. 스캔하라고 한다. '이거 redirect 검증했을까?' 병이다. 진짜 병. 보안 QA 4년차. 이제 직업병 수준이다. 웹사이트 하나 보면 자동으로 분석 모드 들어간다. F12 개발자 도구는 습관적으로 연다.어제 점심시간. 팀 회식 장소 검색했다. 맛집 예약 사이트 들어갔다. URL 파라미터에 id=123 보였다. 손이 자동으로 움직였다. id=123' OR 1=1-- 입력. 에러 페이지 떴다. MySQL syntax error. '역시. SQL Injection 취약점 있네.' 밥 먹으러 가는데 취약점부터 찾았다. 여자친구가 한숨 쉬었다. "또 시작이야?" 커피숍 WiFi는 전쟁터 주말 오후. 동네 카페 갔다. 노트북 켜고 작업하려는데. 공용 WiFi 보였다. 비밀번호 없음. 머릿속이 복잡해진다. '누가 패킷 스니핑하면? MITM 공격하면?' HTTPS 확인. 인증서 검증. VPN 켰다. 그제야 안심. 옆 테이블 대학생. 맥북으로 인터넷뱅킹 중. HTTP 사이트였다. 평문 통신. 말해주고 싶었다. 참았다. '내가 이상한 사람 되겠지.'집에서도 마찬가지다. 공유기 설정 2주마다 확인한다. 펌웨어 업데이트 알림 오면 바로 적용. 기본 비밀번호? 그런 거 없다. 여자친구가 놀러 왔다. "왜 WiFi 비밀번호가 32자야?" "WPA3 쓰고 있어. 안전해." "...그래." IoT 기기도 못 믿는다. 집에 있는 스마트 전구. 기본 설정으로 쓰는 사람 많다. 나는 펌웨어 뜯어봤다. 취약점 2개 발견. 제조사에 리포트 보냈다. 답은 없었다. 새 서비스는 샌드박스 회사에 신규 서비스 론칭 일주일 전. 개발팀에서 "테스트 좀 해주세요" 메시지. 내가 기다리던 순간이다. Burp Suite 켰다. 프록시 설정. 모든 요청 intercept 모드. 하나하나 뜯어본다. 첫 번째 발견. 회원가입 API. 이메일 검증 없음. HTML 태그 그대로 저장. Stored XSS 가능. 심각도 High. 두 번째. 비밀번호 찾기 기능. 토큰이 sequential 하다. 1, 2, 3, 4... 다른 사람 계정 접근 가능. Critical.세 번째. 관리자 페이지. /admin URL 직접 접근 시도. 인증 우회됐다. 권한 검증 없음. "이거 그냥 오픈하는 거예요?" 리포트 작성했다. A4 12장. 취약점 23개. Critical 5개, High 11개. 개발팀 팀장 얼굴이 하얗게 질렸다. "론칭 연기해야 할 것 같은데요." "예산이... 일정이..." "해킹당하면 더 비쌉니다." 결국 2주 연기. 다 고쳤다. 론칭 후 별 일 없었다. 아무 일 없는 게 내 일 잘한 거다. OWASP Top 10은 성경 보안 QA 처음 시작할 때. 선배가 말했다. "이거부터 외워." OWASP Top 10. 웹 보안 취약점 톱10. 지금은 자다가도 말할 수 있다.Broken Access Control Cryptographic Failures Injection Insecure Design Security Misconfiguration ...현장에서 가장 많이 보는 건. SQL Injection, XSS, CSRF. 클래식하지만 아직도 많다. 작년에 테스트한 서비스 30개. 26개에서 Injection 취약점 발견. 20개에서 XSS 가능. 15개에서 권한 검증 누락. 개발자들에게 물어봤다. "왜 안 막으세요?" "바쁘니까요. 나중에 하려고요." 나중은 없다. 해커는 지금 공격한다. 입력 폼 보면 자동 반응 식당 예약 사이트. 리뷰 작성란 봤다. 손가락이 자동으로 움직였다. <script>alert('XSS')</script> 엔터 쳤다. 새로고침. 팝업 떴다. 'XSS' 메시지. "역시나." 검색창도 마찬가지다. ' OR '1'='1 admin'-- <img src=x onerror=alert(1)> 습관적으로 입력한다. 정상 작동하면 실망한다. 에러 나면 희열 느낀다. 여자친구 쇼핑몰 앱 쓸 때. "이거 괜찮아?" "잠깐만." 폼 테스트 시작. "...그냥 사도 돼?" "아직 확인 중." 30분 뒤. "취약점 5개 발견. 다른 앱 써." "그냥 옷 사고 싶었는데..." 버그바운티는 부업 주말마다 한다. 버그바운티. HackerOne, Bugcrowd 같은 플랫폼. 기업들이 취약점 찾으면 돈 준다. 지난주 토요일. 집에서 작업. 글로벌 핀테크 기업 프로그램 참여. 4시간 테스트. IDOR 취약점 발견. 다른 사람 계좌 정보 볼 수 있었다. 리포트 제출. Critical 등급. 일주일 뒤 답장 왔다. "$3000 보상. 감사합니다." 환율 계산. 약 400만원. 주말 4시간 투자로 400만원. 시급으로 치면 100만원. 회사 월급보다 나을 때 있다. 작년 버그바운티 수입. 총 $15000. 약 2000만원. 용돈 수준 아니다. 부수입 쏠쏠하다. 하지만 매번 찾는 건 아니다. 10개 테스트하면 2~3개 발견. 운도 따라야 한다. 먼저 찾은 사람이 임자. 개발자와의 줄다리기 보안 QA의 숙명. 개발팀과 싸우는 것. "이거 취약점입니다." "근데 영향도가 낮잖아요?" "지금은 낮아도 조합하면 심각합니다." "일정이 촉박한데..." 매번 반복되는 대화. 보안은 항상 우선순위 밀린다. 기능 개발이 먼저. 보안은 '나중에'. 작년 프로젝트. XSS 취약점 리포트 5개 올렸다. 2개만 수정됐다. 3개는 '차기 버전에'. 3개월 뒤. 해당 취약점으로 공격 시도 로그 발견. 다행히 막았다. 개발팀에 다시 얘기했다. "그때 말씀드렸던 건데요." "...수정하겠습니다." 말이 통하는 개발자도 있다. 보안 의식 있는 사람. 코드 짤 때부터 고려한다. 입력 검증, 출력 인코딩, 파라미터화된 쿼리. 그런 개발자 만나면 행복하다. 일이 술술 풀린다. 취약점 적게 나온다. 서로 존중한다. 실제 해킹 사고 났을 때 2년 전 일이다. 경쟁사에서 해킹 사고 났다. 고객 정보 10만 건 유출. 뉴스 봤다. SQL Injection 공격이었다. 기본 중의 기본. '내가 테스트했으면 막았을 텐데.' 우리 회사 긴급 회의. "우리도 점검합시다." 일주일 동안 전수 조사. 밤샘 작업 3일. 발견된 취약점 47개. Critical 3개 즉시 수정. High 등급 일주일 내 패치. Medium 이하 2주 내. 그때 느꼈다. 사고 나기 전에 막는 게 내 일. 조용히 위험을 제거하는 것. 티 안 나는 영웅. 해킹당한 회사 보안팀. 다 잘렸다고 들었다. '보안팀 뭐했어?' 비난. 마음이 아팠다. 우리도 언제든 당할 수 있다. 완벽한 보안은 없다. 제로데이 공격, APT, 내부자 위협. 할 수 있는 건 최선을 다하는 것. 공격자처럼 생각하기 보안 QA의 핵심. 공격자 관점으로 생각한다. '내가 해커라면 어떻게 뚫을까?' 일반 QA와 다른 점. 그들은 정상 시나리오 테스트. 우리는 비정상 시나리오. 상상력이 무기다. 로그인 기능 테스트. 일반 QA: 올바른 ID/PW 입력. 보안 QA: SQL Injection 시도 Brute Force 공격 Session Hijacking CSRF 토큰 검증 Rate Limiting 확인파일 업로드 기능. 일반 QA: 정상 파일 업로드. 보안 QA:악성 스크립트 업로드 확장자 우회 시도 대용량 파일로 DoS 경로 조작 (Path Traversal)항상 묻는다. "이걸 악용하면 뭐가 가능할까?" "이 기능을 의도와 다르게 쓰면?" "여러 취약점을 조합하면?" 동료들이 말한다. "너는 항상 나쁜 쪽으로 생각하네." 맞다. 그게 내 일이다. 선한 의도로 나쁜 생각을 한다. 화이트 해커의 자부심 술자리에서 자기소개. "보안 QA 합니다." "해커세요?" "화이트 해커요." 블랙 해커와 다르다. 우리는 선한 편. 시스템 지키는 사람. 공격 기술은 같지만 목적이 다르다. 가끔 유혹 있다. 발견한 취약점 악용하면? 고객 정보 팔면 돈 된다. 암호화폐 거래소 뚫으면 대박. 하지만 안 한다. 윤리 문제도 있고. 무엇보다 자부심이 있다. 내가 지키는 시스템. 내가 보호하는 고객. 화이트 해커 커뮤니티. 서로 존중한다. 발견한 취약점 공유. 제로데이 정보 교환. 다 공익을 위해서. 블랙 해커 되면 돈 더 벌까? 모르겠다. 안 해봐서. 지금도 만족한다. 연봉 7000에 버그바운티 2000. 떳떳하게 번다. 끝없는 공부 보안 분야는 빠르다. 매일 새로운 취약점. 매주 새로운 공격 기법. 공부 안 하면 도태된다. 아침마다 체크하는 것들.CVE 최신 목록 OWASP 블로그 /r/netsec 서브레딧 보안 뉴스 사이트퇴근 후 루틴. 온라인 강의 듣기. HackTheBox, TryHackMe 문제 풀기. 보안 서적 읽기. 새 툴 테스트. 주말엔 CTF 대회. Capture The Flag. 해킹 경진대회. 세계 각국 화이트 해커들. 밤새워 문제 푼다. 작년에 팀 결성했다. "SeoulSec". 4명. 국내 대회 3등. 상금 300만원 나눴다. 돈보다 실력 향상이 목적. 자격증도 땄다. CEH (Certified Ethical Hacker) OSCP (Offensive Security Certified Professional) 다음은 CISSP 준비 중. 공부 안 하면 불안하다. 내가 모르는 공격 기법. 누군가는 알고 있다. 그걸로 우리 시스템 공격할 수 있다. 일상이 된 강박 이제 꺼낼 수가 없다. 보안 마인드셋. 일상에 스며들었다. 마트에서 카드 긁을 때. 단말기 확인한다. 스키밍 장치 없는지. 주변에 카메라 없는지. ATM 쓸 때도. 키패드 가린다. 뒤에 사람 확인. 카드 즉시 회수. 공공장소 USB 충전기. 절대 안 쓴다. Juice Jacking 가능. 보조배터리 항상 휴대. 여자친구와 여행. 호텔 WiFi 안 믿는다. 스마트 TV도 끈다. 카메라 가릴 수 있으면 가린다. "너무 예민한 거 아니야?" "직업병이야." "좀 쉬어." "이게 쉬는 거야." 집 현관 도어락. 지문 인식 안 쓴다. 비밀번호도 한 달마다 바꾼다. CCTV는 네트워크 분리. 스마트폰 설정. 불필요한 권한 다 껐다. 앱 최소한으로. 루팅 절대 안 함. "넌 편하게 못 살아?" 맞다. 못 산다. 하지만 안전하다. 그게 나한테는 편한 거다. 보안은 투자다 경영진 설득이 제일 어렵다. "보안에 얼마 들어갑니까?" "연 5억 정도 필요합니다." "매출에 기여는?" 설명한다. 보안은 비용이 아니다. 투자다. 보험이다. 사고 나면 손실이 더 크다. 데이터 유출 시. 고객 보상. 법적 대응. 브랜드 이미지 타격. 수십억 날아간다. 실제 사례 보여준다. 경쟁사 해킹 사고. 피해액 200억. 우리 보안 예산 5억. 40배 차이. "그래도 우린 안 당할 수도..." "100% 안전은 없습니다." "하지만 확률을 낮출 순 있습니다." "그게 제 일입니다." 설득 성공하면 예산 나온다. 새 보안 장비. 외부 모의해킹 용역. 직원 보안 교육. 다 필요한 것들. 실패하면 기존 예산으로 버틴다. 오픈소스 툴 활용. 직접 스크립트 짠다. 시간이 더 걸릴 뿐. 결과는 내야 한다. 보안 QA의 미래 이 일 언제까지 할까. 생각해본다. 보안 수요는 늘어난다. 클라우드, IoT, AI. 새 기술마다 새 위협. 일감은 줄지 않는다. 경력 쌓으면 선택지 많다. 보안 컨설턴트. CISO (Chief Information Security Officer). 보안 솔루션 개발. 강의, 집필. 나는 현장이 좋다. 직접 뚫어보는 재미. 취약점 찾는 쾌감. 시스템 지키는 보람. 10년 뒤엔? 팀장 되어 있을까. 후배 가르치고 있을까. 아니면 프리랜서? 확실한 건. 이 일은 평생 할 수 있다. 기술은 계속 배우면 된다. 열정만 있으면. 요즘 고민. 유튜브 채널 열까. '보안 QA의 일상'. 취약점 분석 영상. 보안 입문자 도움될 것 같다. 여자친구는 찬성. "네 얘기 재밌어." "근데 회사 기밀은 조심해." 알고 있다. 당연히. 그래도 이 일이 좋다 피곤하다. 스트레스 많다. 항상 긴장한다. 불안하다. 완벽할 수 없다. 한계 있다. 그래도. 취약점 찾았을 때. "이거 Critical입니다." 개발팀이 급히 고친다. 사고 막은 거다. 론칭 후 무사할 때. 아무 일 없이 서비스 돈다. 뉴스에 안 나온다. 내가 한 일이다. 고객들은 모른다. 내가 뭘 막았는지. 얼마나 위험했는지. 그래도 괜찮다. 화이트 해커. 선한 해커. 시스템 지키는 사람. 자부심 있다. 새벽 2시. 아직 모의해킹 중. Admin 권한 탈취 성공. "역시 여기 뚫리네." 리포트 쓴다. 재현 방법 상세히. 수정 방안까지. 책임감 있게. 내일 개발팀 회의. 또 설득해야 한다. "이거 고쳐야 합니다." 언제나처럼.취약점 찾는 게 일이지만, 없는 게 제일 좋은 일이다. 모순이지만 그게 보안이다.