사용자가 일상에서 직접적으로 서버를 관리하거나 마주칠 일은 상대적으로 적지만, 모든 웹 서비스는 결국 서버에서 동작합니다. 그리고 그 서버는 Windows Server, Linux, Unix 등 운영체제가 설치된 컴퓨터 위에서 구동됩니다. 따라서 운영체제(OS)는 웹 서비스의 안정성과 보안성을 떠받치는 근간이라고 할 수 있습니다.
운영체제 보안에 취약점이 발생할 경우, 악성 해커는 원래 접근해서는 안 되는 권한(예: 관리자 권한, root 권한)을 획득할 수 있습니다. 그 결과 서버 내 데이터를 무단으로 열람하거나 탈취하고, 심지어 삭제하거나 변조하여 악용할 수 있습니다. 또한 이러한 운영체제 취약점은 개인용 PC, 노트북, 심지어 IoT 기기에도 그대로 적용되므로, 일반 사용자 역시 데이터 탈취와 시스템 장악의 위협에서 자유롭지 않습니다.
컴퓨터 구조 및 OS 기본 이해
- 컴퓨터 아키텍처: CPU, 메모리, 저장장치, 인터럽트 구조
- 운영체제 기본 개념: 프로세스, 스레드, 메모리 관리, 파일 시스템, I/O 관리
- 사용자 모드 vs 커널 모드: 권한 분리와 보안적 의미
- 시스템 호출(System Call): 사용자 프로그램과 커널 간의 인터페이스
주요 운영체제와 보안 특성
- Windows 보안: Active Directory, NTFS 권한, Windows Registry 보안, UAC(User Account Control)
- Linux/Unix 보안: 파일 권한 구조(rwx), sudo, chroot jail, SELinux/AppArmor
- 서버 OS 보안: 패치 관리, 불필요한 서비스 비활성화, 보안 로그 관리
권한 관리와 인증
- 사용자 계정 관리: root/admin 권한 최소화, 계정 잠금 정책
- ACL(Access Control List): 파일 및 디렉토리 접근 제어
- Kerberos, NTLM 인증 구조 이해
- Privilege Escalation(권한 상승) 공격과 방어
취약점 및 공격 기법
- 버퍼 오버플로우(Buffer Overflow): 스택/힙 기반 취약점
- 포맷 문자열 취약점(Format String Vulnerability)