블로그

보안 코딩 기법: 안전한 파일 삭제 방법

September 10, 2017
피터 드 크레머
흰색 텍스트로 '파일 복구'라고 적힌 검은색 키보드 키.

컴퓨터 시스템에서 파일을 삭제하는 것은 까다로운 일입니다. 누구나 한 번쯤 실수로 파일을 삭제했다가 휴지통에서 다시 복구하며 안도했던 경험이 있을 것입니다.

컴퓨터 시스템의 데이터는 비트의 연속으로 표현됩니다. 따라서 시스템은 어떤 비트가 어떤 파일을 나타내는지 파악하기 위해 파일 시스템 내에서 일종의 장부 기록을 관리해야 합니다. 이 정보에는 파일 크기, 마지막 수정 시간, 소유자, 접근 권한 등이 포함되며, 이러한 기록 데이터는 파일 내용과는 별도로 저장됩니다.

일반적으로 파일을 삭제해도 해당 파일을 나타내는 비트에는 아무런 변화가 없습니다. 다만 시스템이 해당 저장 공간을 무의미한 것으로 간주하고 재사용할 수 있도록 장부 기록만 변경될 뿐입니다. 다른 파일이 해당 위치에 저장되어 비트가 덮어쓰여지기 전까지는 삭제된 데이터를 복구할 수 있는 경우가 많습니다. 이는 파일 삭제 속도를 높여줄 뿐만 아니라, 실수로 삭제한 파일을 되살릴 수 있는 유용한 기능이기도 합니다.

하지만 이러한 방식에는 단점도 있습니다. 컴퓨터 시스템의 애플리케이션이 민감한 정보를 처리할 때 해당 데이터를 파일 시스템 어딘가에 저장하게 됩니다. 정보가 더 이상 필요 없게 되어 데이터를 삭제하더라도, 별도의 조치를 취하지 않으면 개발자의 의도와 달리 데이터가 여전히 복구 가능한 상태로 남아 있을 수 있습니다.

데이터를 완전히 삭제하는 가장 쉬운 방법은 파일 내용을 무작위 데이터로 덮어쓰는 것입니다(때로는 여러 번 반복하기도 합니다). 거트만(Gutmann) 방식과 같이 저장 장치 유형이나 파일 시스템에 따라 다양한 보안 파일 삭제 방법이 존재합니다. 하지만 일상적인 애플리케이션 사용 환경에서는 이러한 방법이 다소 과할 수 있으므로 직접 데이터를 덮어쓰는 것만으로도 충분합니다.

단, 주의가 필요합니다! 모두 0으로 채우거나 엔트로피가 낮은 데이터를 사용하지 마십시오. 많은 파일 시스템이 이러한 희소 파일을 최적화하는 과정에서 원본 내용의 일부를 남겨둘 수 있습니다. 파일을 삭제하기 전에 보안상 안전한 무작위 데이터를 생성하여 전체 파일 내용을 덮어쓰는 것을 권장합니다.

데이터 잔류 현상은 어떤 방식으로든 삭제된 데이터가 물리적 형태로 남아 있는 것을 의미합니다. 저장 매체를 삭제한 후에도 물리적 특성이 남아 있어 데이터를 복구할 수 있는 경우가 있습니다.

https://fas.org/irp/nsa/rainbow/tg025-2.htm

태그라인

배포 전 AI 기반 개발 거버넌스 확보

AI 기반 위험을 측정하고, 커밋 시점에 보안 코딩 정책을 적용하며, SDLC 전반에 걸쳐 안전한 소프트웨어 제공 속도를 높이세요.

데모 예약하기
리소스 라이브러리

더 많은 블로그 살펴보기

보안 코딩, AI 거버넌스, 소프트웨어 리스크 관리에 관한 전문가 콘텐츠를 확인해 보세요.

전체 보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

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.

더 알아보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

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

더 알아보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

하나의 보안 문화: Sage는 어떻게 챔피언 프로그램을 구축했는가

Sage가 유연하고 관계 중심적인 접근 방식을 통해 보안을 강화하고, 200명 이상의 보안 챔피언을 양성하며 실질적인 위험 감소를 달성한 사례를 확인해 보세요.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

2026년 사이버 보안 인식의 달: 기업 방어의 핵심, AI 보안 이해하기

주요 AI 기업 대부분이 안전 가이드라인이 마련될 때까지 AI 개발 속도를 전 세계적으로 늦춰야 한다고 공개적으로 촉구하는 시점에 이르렀지만, 사실 심각한 보안 문제는 이미 현실화되었습니다. 이로 인해 AI 도입에 따른 금전적 비용과 위험 부담이 계속 쌓이면서 수많은 보안 책임자와 경영진이 절박한 상황에 놓였습니다.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

인에이블러 8: 프로그램 브랜딩

성공적인 보안 코딩 프로그램을 위해서는 훌륭한 콘텐츠 그 이상의 것이 필요합니다. 인에이블러 8에서는 브랜딩을 통해 참여를 누구나 선망하는 위상 중심의 경험으로 바꾸는 방법을 알아봅니다.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

이제 모든 직원이 AI 사이버 보안의 최전선에 있습니다

엔터프라이즈 기술 환경은 너무 늦기 전까지는 아무도 예상하지 못한 속도로 변화하고 있습니다. 우리는 공식적으로 사람이 직접 작성한 코드와 기본적인 코파일럿 지원의 시대를 지나 '에이전트 기반 개발 수명 주기(ADLC)'의 시대로 진입했습니다. 자율형 AI 에이전트는 여러 기능 전반에 걸쳐 전례 없는 효율성을 약속하지만, 동시에 완전히 새로운 차원의 보안 및 규제 위험을 야기합니다.

더 알아보기

배포 전 AI 기반 개발 보안 확보

소프트웨어 개발 수명 주기 전반에서 개발자 리스크를 파악하고, 정책을 시행하며, 취약점을 예방하세요.

데모 예약하기
항목이 없습니다.