"설계 단계부터 보안을 고려한다"는 신화

저는 자신들의 모바일 앱이 안전하다고 믿는 보안 책임자들과 이야기를 나눠봤습니다. 그들이 한 조치 자체는 틀리지 않았지만, 무엇으로부터 보호해주는지에 대해서는 잘못 알고 있었습니다.

최근 대화에서 저는 세 가지 확신에 찬 변명을 들었습니다.

“저희 백엔드 시스템은 제대로 설계되었습니다.”

그들은 관심사 분리, 계층형 API 보안, 모든 단계에서의 인증을 구현했습니다. 매뉴얼대로 잘 따라한 거죠.

"그건 우리 협력업체에서 처리합니다."

많은 금융기관, 특히 소규모 은행, 신용조합, 지역 금융기관들은 화이트 라벨 앱 제공업체에 의존합니다. 그 이유는 다음과 같습니다. 해당 업체가 수백 개의 기관에 서비스를 제공하고 있으니 분명 뭔가 잘하고 있을 것이고, 문제가 발생하더라도 우리만의 문제가 아니라 더 큰 문제로 남을 것이라는 생각입니다.

“우리는 표적이 아닙니다.”

제조업체, 물류 회사, B2B 기업들은 자신들이 이번 사태의 영향권 밖에 있다고 생각합니다. 랜섬웨어와 데이터 도난은 그들의 관심사지만, 악성 모바일 앱은 그다지 신경 쓰지 않습니다.

이러한 입장들은 모두 일리가 있지만, 모두 똑같은 점을 간과하고 있습니다.

그들이 생각하지 못하는 공격

보안 설계 원칙은 악용될 수 있는 취약점이 없는 앱을 구축하는 데 중점을 둡니다. 버퍼 오버플로 방지, 하드코딩된 자격 증명 방지, 적시에 CVE 패치 적용 등이 그 예입니다. 이는 매우 바람직한 접근 방식이며, 공격자가 공격하기 어렵게 만듭니다.

하지만 이는 공격자가 다음과 같다고 가정합니다. 외부 얻으려고 노력하다 in.

여기서 간과된 점은 바로 변조된 앱 공격입니다.

앱은 보안 검사를 모두 통과하고, 서명되어 공식 채널을 통해 배포되는 등 완벽한 상태로 출시됩니다. 그런데 악의적인 공격자가 앱을 다운로드하여 리버스 엔지니어링한 후, 작은 수정(예를 들어, 분기 명령 하나를 바꾸는 것)을 가합니다. 그런 다음, 이를 재패키징하여 비공식 채널을 통해 배포하거나, 사용자를 속여 직접 설치하도록 유도합니다.

이제 그들은 당신의 경계선 내부에 신뢰할 만한 요원을 심어 놓았습니다.

백엔드에서는 차이를 구분할 수 없습니다. API 호출은 정상적으로 보이고, 인증도 제대로 작동하며, 트래픽 패턴도 평소와 같습니다. 왜냐하면 여전히... 당신의 앱—단지 작은 악성 소프트웨어 조각이 함께 들어있을 뿐이죠.

이것은 이론적인 공격이 아닙니다. 이것은 실제 공격입니다. 문서화 된, 증가하는 공격 벡터그리고 그것은 그 안보 책임자들이 내게 설명했던 방어 체계를 그대로 뚫고 지나갑니다.

사각지대가 지속되는 이유는 무엇일까요?

기존의 보안 사고방식은 쉽게 바뀌지 않는 고정관념을 만들어냅니다. 경계를 방어하고, 서버를 강화하고, 취약점을 패치하는 데 경력을 쌓아왔다면, 외부 위협이 벽을 뚫고 들어오려 한다는 관점에서 생각하게 될 것입니다.

변형된 앱 공격은 당신의 보안 시스템을 뚫고 들어오는 것이 아닙니다. 당신의 유니폼을 입고 정문으로 들어오는 것입니다.

안전한 코딩 관행이 이를 막지는 못합니다. 원래 코드가 문제인 것입니다. 였다 안전해 보입니다. 백엔드 아키텍처가 이를 감지하지 못합니다. 요청은 마치 정상적인 앱에서 오는 것처럼 보입니다. 그리고 공급업체도 당신을 구할 수 없습니다. 그들도 당신과 같은 문제를 대규모로 해결하고 있지만, 똑같은 사각지대에 놓여 있기 때문입니다.

책임 회피 문제

또 다른 역학 관계가 작용하고 있습니다. 제가 나눈 몇몇 대화에서 안보 책임자들이 특정 유형의 위험을 어느 정도 감수하기로 마음먹은 듯한 느낌을 받았습니다. 다만, 그 책임은 다른 곳에 전가할 수 있어야 한다는 조건이 붙었죠.

화이트 라벨 공급업체에 해킹 사고가 발생했다면, 그건 그들의 문제입니다. 당신은 피해자일 뿐, 원인이 아닙니다. 만약 공격 경로가 업계 누구도 대비하지 못했던 것이었다면, 당신의 과실이 아니라 지극히 정상적인 상황입니다.

이는 합리적인 경력 보존 전략입니다. 하지만 안전망은 아닙니다.

불편한 진실은 "다른 회사들도 그렇게 하지 않는다"는 말이 당신이 이사회에 위반 사항을 설명하는 순간부터 더 이상 변명이 될 수 없다는 것입니다.

꼭 물어볼 가치가 있는 질문

저는 누구의 보안 프로그램이 잘못됐다고 말하려는 게 아닙니다. 심층 방어, 안전한 코딩, API 강화는 실질적이고 필수적인 요소입니다.

하지만 저는 이렇게 묻고 싶습니다. 당신이 개발한 앱을 악용하는 공격에 대한 대비책은 무엇입니까?

만약 답이 "백엔드에서 감지할 수 있을 겁니다"라면, 저는 반박할 겁니다. 결국 이상 징후를 감지할 수는 있겠지만, 그때는 이미 피해가 발생한 후일 겁니다. 자격 증명이 탈취되고, 세션이 탈취되고, 사기가 저질러진 것이죠.

만약 답이 "그건 우리에게 현실적인 위협이 아니다"라면, 저는 그 확신의 근거가 무엇인지 묻고 싶습니다. 공격 도구는 이미 보편화되었고, 공격 기법은 문서화되어 있으며, 공격 대상은 금융 서비스를 넘어 확장되고 있습니다.

만약 대답이 "그건 다른 사람 문제야"라면, 저는 이렇게 물어볼 겁니다: 그렇지?

당신은 또한 좋아할 거라