보안 공격이란 무엇인가요?

마리코 코사카

안전하지 않은 애플리케이션은 사용자와 시스템을 다양한 유형의 손상에 노출할 수 있습니다. 악의적인 당사자가 취약점 또는 보안 기능 부족을 이용하여 피해를 입히는 것을 공격이라고 합니다. 애플리케이션 보안을 설정할 때 주의해야 할 사항을 알 수 있도록 이 가이드에서는 다양한 유형의 공격을 살펴봅니다.

능동적 공격과 수동 공격 비교

공격은 능동적 공격과 수동 공격이라는 두 가지 유형으로 나눌 수 있습니다.

진행 중인 공격

공격자는 능동적 공격을 통해 애플리케이션에 직접 침입하려고 시도합니다. 거짓 ID를 사용하여 민감한 정보에 액세스 (매스커레이드 공격)하는 것부터 서버에 대량의 트래픽을 넘겨 애플리케이션이 응답하지 않게 만드는 것 (서비스 거부 공격) 등 다양한 방법이 있습니다.

진행 중인 공격은 전송 중인 데이터에도 적용될 수 있습니다. 공격자는 사용자 브라우저에 도달하기 전에 애플리케이션 데이터를 수정하여 사이트에 수정된 정보를 표시하거나 사용자를 의도하지 않은 도착 페이지로 유도할 수 있습니다. 이를 메시지 수정이라고도 합니다.

메시지 수정
공격자가 사용자를 조작하여 피싱 사이트로 안내하고 있는 웹사이트입니다.

수동적 공격

수동 공격을 통해 공격자는 애플리케이션에서 정보를 수집하거나 학습하려고 하지만 애플리케이션 자체에는 영향을 미치지 않습니다.

수동 공격
공격자가 사용자와 서버 간의 통신을 도청합니다.

누군가가 친구나 가족과의 대화를 도청하면서 내 사생활, 친구가 누구인지, 어디에 어울리는지에 대한 정보를 수집한다고 상상해 보세요. 웹 트래픽에서도 같은 일이 일어날 수 있습니다. 공격자는 사용자 이름과 비밀번호, 사용자의 방문 기록, 교환되는 데이터를 수집하여 브라우저와 서버 간에 데이터를 캡처할 수 있습니다.

공격 방어

공격자는 개발자나 사용자가 알지 못하는 사이에 애플리케이션에 직접 해를 끼치거나 사이트에서 악의적인 작업을 수행할 수 있습니다. 공격을 감지하고 방어하기 위한 메커니즘이 필요합니다.

안타깝게도 애플리케이션을 100% 안전하게 보호할 수 있는 단일 솔루션은 없습니다. 실제로 공격을 방지하거나 더 지연시키기 위해 많은 보안 기능과 기술이 레이어에 사용됩니다 (이를 심층 방어라고 함). 애플리케이션에 양식이 포함되어 있으면 브라우저, 서버, 마지막으로 데이터베이스에서 입력을 확인할 수 있습니다. 또한 HTTPS를 사용하여 전송 중인 데이터를 보호할 수 있습니다.

마무리

많은 공격이 서버에 침투하지 않고 발생할 수 있으므로 공격이 진행 중인지 감지하기 어려울 때가 있습니다. 좋은 소식은 웹 브라우저에는 강력한 보안 기능이 이미 내장되어 있다는 것입니다. 자세한 내용은 다음 주제 '브라우저가 공격을 완화하는 방법'을 참고하세요.