보안(Security)
보안 개요
보안(Security)이란 시스템, 네트워크, 애플리케이션을 허가되지 않은 접근, 정보 유출, 변조, 파괴로부터 보호하는 것을 의미합니다. 보안의 주요 목적은 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)을 보장하는 것입니다.
보안의 주요 요소
데이터 보호:
개인 정보 보호: 사용자 이름, 비밀번호, 신용카드 정보 등의 유출을 방지하여 사용자 피해를 예방합니다.
기밀 데이터 보호: 기업의 중요한 정보를 보호하여 경쟁 우위를 유지합니다.
비인가 접근 차단: 악의적인 사용자로부터 시스템을 보호합니다.
데이터 무결성:
데이터 변경 방지: 무단으로 데이터가 변경되거나 삭제되는 것을 방지하여 데이터의 신뢰성을 유지합니다.
데이터 일관성 유지: 데이터가 일관되게 유지되도록 하여 시스템 운영의 안정성을 확보합니다.
변경 이력 관리: 데이터 변경 이력을 추적하여 문제가 발생 시 신속히 원인을 파악하고 복구할 수 있도록 지원합니다.
서비스 가용성 유지:
DDoS 공격 방어: 시스템을 보호하여 연속적인 서비스 제공을 보장합니다.
빠른 복구: 보안 사고 발생 시 신속하게 복구하여 서비스 지속성을 확보합니다.
보안의 중요성
신뢰성 유지: 사용자가 시스템을 신뢰하고 사용할 수 있도록 보안은 필수입니다.
법적 및 규제 준수: 개인정보 보호법과 같은 법적 규제를 준수하여 벌금 및 법적 책임을 피합니다.
주요 보안 위협
해킹(Hacking): 불법적으로 시스템에 접근해 데이터를 훔치거나 변경하는 행위입니다.
피싱(Phishing): 이메일이나 메시지로 위장하여 사용자로부터 민감한 정보를 빼내는 사기 행위입니다.
악성코드(Malware): 컴퓨터 시스템을 감염시켜 데이터를 손상시키거나 정보를 빼내는 소프트웨어입니다.
웹 애플리케이션에서의 보안 위협
인증(Authentication): 시스템이 사용자의 신원을 확인하는 과정입니다.
인가(Authorization): 사용자가 어떤 자원에 접근할 수 있는지를 결정하는 과정입니다.
세션 관리(Session Management): 사용자와 서버 간의 상태를 유지하는 방법으로, 세션 하이재킹(Session Hijacking)과 같은 위협에 대비해야 합니다.
데이터 암호화(Encryption): 데이터가 이동 중에 도청되지 않도록 암호화하는 과정입니다.
보충: 세션 하이재킹(Session Hijacking)
세션 하이재킹이란 공격자가 사용자의 세션 ID를 탈취하여 해당 사용자의 신분으로 서버에 접근하는 공격 방식입니다. 주로 네트워크 스니핑, 악성 스크립트 삽입(XSS), 세션 ID 예측 등을 통해 이루어집니다.
세션 생성: 사용자가 웹 애플리케이션에 로그인하면 서버는 고유한 세션 ID를 생성하여 사용자에게 부여합니다.
세션 ID 탈취: 공격자는 세션 ID를 여러 방법을 통해 탈취합니다.
세션 ID 사용: 탈취한 세션 ID를 이용해 서버에 접근하여 정상적인 사용자의 권한으로 다양한 작업을 수행합니다.
악의적인 활동: 공격자는 사용자로서 서버에 접근해 민감한 정보에 접근하거나 중요한 작업을 수행할 수 있습니다.
Last updated