코더의 보안 정복: 공유 및 학습 시리즈 - 민감 데이터 노출

민감한 데이터 노출은 지난 몇 년간 가장 널리 알려지고 큰 영향을 미친 데이터 유출 사고들의 원인이었습니다. 예를 들어, 3억 건 이상의 고객 기록이 도난당한 메리어트(Marriott)의 대규모 유출 사고와 에퀴팩스(Equifax) 공격 당시 1억 5천만 건의 기록이 유출된 사건이 대표적입니다. 공격자 입장에서는 중간 수준의 정교함과 때로는 특수 장비가 필요하지만, 많은 경우 해커가 이를 실행하기가 그리 어렵지 않으며 공격 기능을 자동화하는 도구들도 존재합니다.
민감한 데이터 노출은 인가된 사용자만 볼 수 있어야 하는 정보가 암호화되지 않았거나, 보호되지 않았거나, 혹은 취약하게 보호된 상태로 인가되지 않은 사람에게 노출될 때 발생합니다. 대부분의 경우 이는 신용카드 번호, 사용자 식별 정보, 기업 비밀, 법률 및 산업 규제로 보호받는 개인 정보 등 해커가 탈취하려는 데이터를 포함합니다.
해커는 민감한 정보가 암호화 없이 저장되어 있거나 암호화 체계를 간접적으로 공격하여 정보를 훔칠 수 있습니다. 강력한 암호화를 직접 해독하려 하기보다는 암호화 키를 훔치거나, 전송을 위해 준비되는 과정처럼 데이터가 암호화되지 않은 상태로 전환될 때 공격을 가합니다.
이번 에피소드에서는 다음 내용을 배웁니다:
- 공격자가 민감한 데이터 노출을 유발하는 방법
- 민감한 데이터 노출이 위험한 이유
- 이 취약점을 해결하는 기술.
공격자는 어떻게 민감한 데이터 노출을 악용하는가?
민감한 데이터 노출은 일반적으로 사이트가 데이터를 보호하기 위해 강력한 종단간(end-to-end) 암호화를 사용하지 않거나, 보호 체계에 악용 가능한 결함이 있을 때 발생합니다. 또한 사용 중인 암호화 방식이 지나치게 취약하거나 구식일 때도 발생할 수 있습니다.
해커들은 암호화가 모든 곳에 적용되지 않은 경우 이를 우회할 방법을 찾으려 합니다. 예를 들어, 사용자 식별 데이터베이스가 정보를 암호화된 상태로 저장하더라도 검색 시 자동으로 복호화한다면, 해커는 앞서 블로그에서 다룬 SQL 또는 XML 인젝션과 같은 공격을 사용하여 데이터베이스가 복호화 과정을 수행하도록 명령할 수 있습니다. 그러면 추가적인 노력 없이도 데이터가 해커를 위해 복호화됩니다. 강철 문을 부수려 애쓰는 대신 열쇠를 훔치는 편이 훨씬 쉽지 않을까요?
취약한 암호화 역시 문제입니다. 예를 들어, 신용카드 정보가 구식 암호화 체계로 저장되어 있다면, 해커가 로컬 파일 포함(local file inclusion) 취약점을 이용해 데이터베이스 전체를 자신의 컴퓨터로 가져올 경우 문제가 될 수 있습니다. 만약 탈취된 데이터가 AES-256 비트 암호화와 같이 강력한 방식으로 보호되었다면 해커가 손에 넣더라도 해독하기가 훨씬 어려웠을 것입니다. 하지만 DES 표준과 같은 더 약하거나 구식인 암호화를 사용한다면, 그래픽 처리 장치(GPU) 랙과 같은 특수 장비를 갖춘 해커는 비교적 짧은 시간 안에 암호화를 풀어낼 수 있습니다.
민감한 데이터 노출이 위험한 이유는 무엇인가?
민감한 데이터 노출은 인가되지 않은 사용자가 보호된 정보를 볼 수 있게 만들기 때문에 위험합니다. 중요하지 않은 데이터라면 애초에 보호하지 않았을 것이므로, 보호 체계가 뚫리는 것은 어떤 경우든 문제를 야기합니다. 이는 어떤 조직도 겪고 싶지 않은 상황입니다.
민감한 데이터 노출로 인한 피해 규모는 노출된 데이터의 종류에 따라 달라집니다. 사용자 정보나 비밀번호가 도난당하면 시스템에 대한 추가 공격을 감행하는 데 사용될 수 있습니다. 개인 정보가 노출되면 사용자는 신원 도용이나 피싱과 같은 2차 공격에 노출될 수 있습니다. 또한 노출된 데이터가 미국의 건강보험 양도 및 책임에 관한 법(HIPAA)이나 유럽의 일반 데이터 보호 규정(GDPR)과 같이 법적으로 보호받는 정보라면, 조직은 막대한 벌금이나 정부의 제재를 받을 수도 있습니다.
민감한 데이터 노출 제거하기
민감한 데이터 노출을 막는 첫걸음은 기업 전반에 걸쳐 민감한 데이터에 대해 강력하고 최신화된 종단간 암호화를 보장하는 것입니다. 여기에는 저장 중인 데이터와 전송 중인 데이터가 모두 포함됩니다. 민감한 데이터를 저장소에 보관할 때만 암호화하는 것으로는 충분하지 않습니다. 사용 전이나 전송 전에 암호화가 해제된다면, 서버를 속여 복호화를 유도하는 2차 공격을 통해 데이터가 노출될 수 있기 때문입니다.
전송 중인 데이터는 중간자 공격(man-in-the-middle)이나 이동 중인 데이터를 노리는 다른 공격으로부터 보호하기 위해 항상 전송 계층 보안(TLS)을 사용해야 합니다. 또한 민감한 데이터는 네트워크상의 어디에도 캐싱되어서는 안 됩니다. 민감한 데이터는 강력한 암호화 상태로 저장되어 있거나 TLS 보호를 통해 전송되어야 하며, 공격자가 악용할 수 있는 어떠한 취약점도 남겨두지 말아야 합니다.
마지막으로, 조직에서 보호하고 있는 민감한 데이터의 종류를 파악하세요. 조직이 해당 데이터를 저장할 이유가 없다면 삭제하십시오. 아무런 이득도 없이 잠재적인 위험에 스스로를 노출할 이유가 있을까요? 조직이 관리하지 않는 데이터는 도난당할 일도 없습니다.
민감 데이터 노출에 대한 추가 정보
더 자세한 내용은 민감 데이터 노출에 관한 OWASP의 설명을 참고하시기 바랍니다. 또한 사이버 보안 팀을 최고의 사이버 전사로 양성하는 Secure Code Warrior 플랫폼의 무료 데모를 통해 방금 습득한 방어 지식을 직접 테스트해 볼 수 있습니다. 이 취약점과 다양한 위협 요소들을 해결하는 방법에 대해 더 알아보려면 Secure Code Warrior 블로그를 방문해 주세요.
배포 전 AI 기반 개발 거버넌스 확보
AI 기반 위험을 측정하고, 커밋 시점에 보안 코딩 정책을 적용하며, SDLC 전반에 걸쳐 안전한 소프트웨어 제공 속도를 높이세요.
더 많은 블로그 살펴보기
보안 코딩, AI 거버넌스, 소프트웨어 리스크 관리에 관한 전문가 콘텐츠를 확인해 보세요.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
배포 전 AI 기반 개발 보안 확보
소프트웨어 개발 수명 주기 전반에서 개발자 리스크를 파악하고, 정책을 시행하며, 취약점을 예방하세요.



.avif)