최근 수정 시각 : 2024-03-12 00:56:45

유해매체 필터링 소프트웨어

자녀 보호 프로그램에서 넘어옴
1. 개요2. 기능3. 문제점4. 대안5. 무력화6. 목록

1. 개요

아동에게 적절하지 않은 사이트나 매체 등을 차단하거나 컴퓨터 과다 사용을 제한하는 유틸리티 소프트웨어로, 주로 사용되는 목적이 자녀 보호인 만큼 자녀 보호 프로그램으로도 불리고 업체들도 다 이 이름으로 홍보하고 있으며 이 문서도 자녀 보호 프로그램 위주로 설명되어 있다.

대부분의 사용 목적은 자녀의 인터넷 중독 혹은 게임 중독 예방이다. 하지만 통신 보안 목적으로 설치하거나, 자신이 직접 사용을 절제하기 위해 제작된 프로그램도 있으므로 하나로 묶어 자녀 보호 프로그램이라고 칭하기에는 어렵다.

2. 기능

  • 사용 시간 제한
  • 설치된 프로그램 내역 보기
  • 특정 사이트 차단
  • 관리 커스터마이징
  • 학습모드 등 특정 기능 전용 모드
  • 전체 사용 시간, 카테고리별 사용 시간 등의 간략한 사용 통계 제공
  • 간단한 위치 추적
  • 간단한 SNS 사용 통계 전송
  • 통신매체이용음란죄 등 자녀에 대한 사이버 범죄를 보고
  • 관리자 권한 접근 제한, 초기화 제한, 설정 접근 제한, 개발자 옵션 접근 제한 등 자기 보호 기능

여기까지는 일반적인 소프트웨어들의 필터능 기능이고, 아래부터는 탈법 영역에 가까운[1] 기능들이다. 정상적인 대기업 제품에서는 이런 기능을 찾아보기 힘들다.
  • 시스템 로그 탈취 및 분석
  • 시스템의 부팅 여부 감지
  • 네트워크 패킷 탈취 및 분석
  • 데이터 스토리지 무단 접근 및 파일 분석
  • 키로거
  • 사용자 동의 없이 화면 내용을(또는 카메라 및 마이크의) 캡쳐/녹화/녹음
  • 유해매체가 아닌 모든 기기 이용내역을 전송
  • 자세한 SNS 이용 내역 전송
  • 기타 민감한 정보의 무단전송

3. 문제점

우선 기술적인 한계로, 항상 실행되고 감시하고 있기 때문에 최적화가 덜 된 제품의 경우 시스템 자원을 제법 잡아먹는다. 휴대용 기기라면 배터리 사용량 또한 높게 가져간다. 여기에 상시 위치추적 기능까지 곁들인다면 GPS를 시도 때도 없이 사용하기 때문에 감당이 안될 정도로 뜨거운 발열과 함께 배터리가 더 빨리 떨어지는 현상을 경험할 수 있다.

그리고 감시/차단/변조 기능을 구현하기 위해 기기 사용 내역이나 관리자 권한에 접근해야 하는데 이를 통해 개인정보가 무단 수집될 가능성이 있고, 개발사가 의도 했든 안했든 OS차원에서 기본 탑재된 것이 아닌 이상 기기에 반드시 보안 취약점이 생기게 된다.[2] 관리자 기능에 접근하거나 보안 취약점 등을 공략하는 것이 기능 구현에 더 쉽기 때문에 그렇다. 애초에 유해차단 소프트웨어의 기능 절대 다수가 스파이웨어로부터 유래된 것이기도 하다. 또한 필터 작동을 위해 UAC 같은 운영체제의 보안 기능을 비활성화하는 기능이 들어가기도 함으로 주의해야 한다.

학생들의 사회성에도 문제가 될 수 있다. 페이스북, 인스타그램을 사용하지 못해 소외가 되거나, 다른 아이들이 다 같이 게임을 하는 등 스마트폰을 사용할 때에도 혼자 소외될 수 있다.[3]

4. 대안

개인정보 유출의 우려 때문에 자녀에게 시간 제한 또는 애플리케이션 실행의 제한 등의 조치를 취하고 싶다면 OS나 휴대전화 제조사에서 자체적으로 제공하는 기능만을 사용해야 한다. 대부분의 기기는 자체적인 자녀 보호 프로그램을 내장하고 있기 때문이다. 어느 정도 통제가 필요할지도 모르는 10세 미만의 자녀를 두고 있다면 운영체제 내 기능만으로도 충분하다.

사이트 차단이나 인터넷 시간 제한이 목적이라면 공유기에서 처리하는 것도 나쁘지 않다. 다만 이는 IP 제한을 제외하면 warning.or.kr과 거의 유사한 방식으로 작동하기 때문에 일부 사이트에는 적용되지 않는 등 불완전한 방법이다. 시간 제한은 해당 시간 동안 MAC 화이트리스트를 제외하고는 전부 인터넷이 비활성화 되기 때문에 그나마 쓸만한 방법이다.

5. 무력화

타의로 전자 기기에 해당 프로그램을 설치하게 된 대상자들 중 일부는 여러 무력화 방법을 찾아 사용하거나 공유를 시도했고, 소프트웨어 설치자가 기대하는 효과를 발휘해야 하는 개발자 측에서는 이러한 무력화 방법들을 차단하며 소프트웨어 내의 허점을 보완해 갔다. 때문에 대부분의 소프트웨어에서 프로세스 강제 종료[4], 프로그램 차단 기능, 언인스톨러, 명령 프롬프트 등의 무력화 및 우회 수단은 기본적으로 차단하도록 설계되어 있다.

일단 가장 효과적인 방법은 멀티부팅을 쓰는 것. 부팅 가능한 저장 장치를 하나 더 달거나, Windows To GoWindows PE를 설치해도 된다. 이것을 막으려면 UEFIBIOS에 수정을 가해야 하는데, 메인보드 회사 내에서조차 기종마다 세부 사항이 전부 다르고 UEFI/BIOS의 제작사도 여럿이니 모든 메인보드에 각각의 전용 개조 바이오스를 전부 배포하는 것은 불가능하다.

쓸만한 PE WIM을 구하거나 다른 하드나 대용량 USB를 슬쩍 컴퓨터에 꼽은 다음 BCD에 수정을 가해도 무력화가 가능하다. 윈도우 10 기준 "운영체제 선택" 화면을 뜨게 만들어서, 혹은 bootmgr CUI를 띄워 운영체제를 부팅 과정에서 고를 수 있게 만들어 PE나 다른 드라이브로 부팅시킬 수 있게 해주면 끝.

조금 더 원초적인 방법은 BIOS POST가 뜰 때 부팅 순서 띄우는 키나 설정 진입 핫키를 연타해서 bootmgr도 실행시키지 않고 깔끔하게 다른 드라이브로 부팅하는 것이다. BCDEDIT나 EasyBCD를 이용하면 손쉽게 BCD를 수정할 수 있고 WIM 파일을 바로 BCD에 올릴 수도 있다. 해당 프로그램은 윈도우를 타깃으로 하고 윈도우 API를 끌어다 쓰기 위해 OS 부팅 후 관리자 권한을 가진 계정을 통한 로그인 과정을 거쳐야만 정상 실행된다. 즉 다른 OS 부팅만 이뤄지면 그 OS에서 해당 프로그램 실행 파일을 클릭하는 경우를 제외하면 무력화를 막을 수 없는데, 아직까지 그런 프로그램은 존재하지 않는다.[5]

가장 간단한 방법은 역시 포맷. 개인용 소프트웨어의 경우 중요한 자료를 USB 등에 보관하고 설정에서 포맷하면 해결된다.[6] 삼성전자 기준 부팅 즉시 F4를 연타하면 삼성 리커버리 진입이 가능하고, 이후에는 화면의 지시에 따르면 된다. 안드로이드의 경우 기기 관리자로 지우지 못하게 하는데, 이 경우 기기 관리자를 해제하면 삭제할 수 있다.[7] 안전 모드로 부팅하는 것[8]으로도 쉽게 무력화된다.

iOS의 경우 과도한 앱 권한을 제한하는 정책상 자녀 보호 앱을 만들어도 앱스토어에 올릴 수 없다. 대신 iOS 12로 업데이트 하면서 스크린타임이라는 기능을 추가했다. iOS는 애플 ID의 비밀번호를 모른다면 초기화 후 활성화가 불가능하기 때문에 iOS 기본 내장 자녀 보호 프로그램은 애플 ID의 비밀번호를 모른다면 가장 강력한 자녀 보호 프로그램이다.

6. 목록

대다수가 유료 정액제를 채용하고 있으나 무료 프로그램도 있다. 취소선은 서비스가 중단되어 정상적으로 필터 기능이 작동되지 않는 프로그램이다.

[1] 일부 국가나 지역에서는 불법으로 간주될 수 있다.[2] 해당 프로그램을 사용함으로써 기기의 보안이 취약해질 수 있음은 과거 스마트 보안관의 사례에서 확인할 수 있다.[3] 이 경우 비자발적 아싸가 될 확률이 높다[4] 프로세스 2개~4개가 종료되었는지 서로 감시하며 하나라도 종료되면 실행하는 식이다. (커널 모드 드라이버를 사용하면 프로세스에 대한 접근을 완전히 막을 수 있지만 안정성 등의 문제로 대부분 사용자 모드에서 사용할 수 있는 프로세스 보호 기법을 사용하고 있다.)[5] BIOS에서 MDM을 지원하는 비즈니스 노트북의 경우 이것이 활성화된다면 멀티부팅을 사용할 수 없다.[6] PC방이나 학교 등의 공공장소 소프트웨어의 경우 타인의 사유 재산이기 때문에, 이 방법을 시도하면 민형사상 처벌을 받을 수 있다.[7] 다만 모바일펜스 같은 일부앱은 한번 기기 관리자를 활성화하면 정상적인 방식으로 해제가 불가능하다.[8] 모바일펜스, 패밀리링크 같은 앱은 안전모드로 삭제를 할 수 없다.