태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

GOM Player GOM Manager ActiveX Control Buffer Overflow취약점에 대한 자세한 기술적인 설명과 함께 익스플로잇이 milw0rm GOM Player 2.1.6.3499 GomWeb Control (GomWeb3.dll 1.0.0.12) remote buffer overflow poc exploit 라는 이름으로 떴다.


익스플로잇의 크레딧으로 봐서는
http://retrogod.altervista.org라는 사이트에서 발표한듯 하다


Illustration 1: retrogod.altervista.org의 홈페이지




간단하게 곰플레이어의 ActiveX 컨트롤의 버퍼 오버플로우 취약점으로서 MS How to stop an ActiveX control from running in Internet Explorer 가이드 라인을 따라서 해당 ActiveX 컨트롤을 웹에서 실행하지 못하도록 죽여 주면 된다(Killbit).





Illustration 2: 레지스트리 에디터로 Killbit을 설정하는 모습




보안 업데이트가 귀찮은 경우나 업데이트 여부가 불분명한 경우에는 다음 파일을 더블클릭하여 킬빗을 설정하면 된다.

GomPlayerBugFix.reg

이 파일을 실행하면 킬빗이 설정 된다.






Daum 블로거뉴스
블로거뉴스에서 이 포스트를 추천해주세요.
Posted by 오정욱

윈도우즈 비스타 SP1에 새롭게 탑재될 Object Manager Filtering을 통해서 기본적으로 프로세스간의 상호 작용을 컨트롤 할 수 있다. 윈도우즈의 한 특징이 바로 한 프로세스가 다른 프로세스를 열거나(OpenProcess) 핸들을 복사해 올 수 있다는 것이다. 이러한 과정에서 비스타(Vista) 이전에는 권한만 있다면 아무러한 제약이 없었다. 하지만 비스타에 들어서는 아무리 권한이 많은 프로세스라도 다른 프로세스를 함부로 건드리지 못하도록 할 수 있게 되었다. 이 것은 "Object Manager Filtering"으로 구현되어 있으며, 현재 비스타(Vista) SP1 베타 시스템에 탑재되어 있다.

"Object Manager Filtering"은 원래 윈도우즈 모든 오브젝트들의 상호 작용을 컨트롤하기 위하여 설계 된 것으로 보인다. 하지만, 현재 SP1에서는 Process Thread Object에 대한 필터링만을 지원한다. 자세한 스펙은 Kernel Data and Filtering Support for Windows Server 2008 문서를 참조하면 된다. Windows Server 2008을 기준으로 작성된 문서이지만, Vista SP1에서도 그대로 적용 되는 것을 확인했다.

OB_PRE_CREATE_HANDLE_INFORMATION 문서를 읽어 보면 프로세스와 쓰레드에 대해서 어떠한 오퍼레이션을 제어할 수 있는 지를 알 수 있다.

음은 프로세스에 대한 제어 가능한 DesiredAccess 목록이다. 프로세스나 쓰레드를 생성하거나 다른 프로세스의 가상 메모리에 쓰는 일 등을 막을 수 있다. 이는 곧 악성 프로그램들로 부터 사용자 프로세스가 보호 받을 수 있는 길이 열렸음을 의미한다. 아무리 스파이웨어에 감염 되어도 특정 프로세스는 변조되거나 종료 또는 잠시 멈춰지는 일을 당하지 않아도 되게 되었다.



Flag

Allowed operations

PROCESS_CREATE_PROCESS

Create a new child process of the process.

PROCESS_CREATE_THREAD

Create a new thread in the context of the process.

PROCESS_DUP_HANDLE

Duplicate handles to or from the context of the process, such as by calling the user-mode DuplicateHandle routine.

PROCESS_SET_QUOTA

Set the working set size for the process, such as by calling the user-mode SetProcessWorkingSetSize routine.

PROCESS_SET_INFORMATION

Modify process settings, such as by calling the user-mode SetPriorityClass routine.

PROCESS_SUSPEND_RESUME

Suspend or resume the process.

PROCESS_TERMINATE

Terminate the process, such as by calling the user-mode TerminateProcess routine..

PROCESS_VM_OPERATIONS

Modify the address space of the process, such as by calling the user-mode WriteProcessMemory and VirtualProtectEx routines.

PROCESS_VM_WRITE

Write to the address space of the process, such as by calling the user-mode WriteProcessMemory routine.



다음은 쓰레드에 대한 제어 가능한 DesiredAccess 목록이다. 역시 프로세스와 같은 정도의 보호를 받을 수 있다.

Flag

Allowed operations

THREAD_DIRECT_IMPERSONATION

Enable a server thread to impersonate one of its clients.

THREAD_IMPERSONATE

Impersonate the operating system's anonymous logon token, such as by calling the user-mode ImpersonateAnonymousToken routine.

THREAD_SET_CONTEXT

Modify the thread's execution context, such as by calling the user-mode SetThreadContext routine.

THREAD_SET_INFORMATION

Modify thread settings, such as by calling the user-mode SetThreadIdealProcessor routine. The operations that are permitted by this access right are a superset of those that are permitted by the THREAD_SET_LIMITED_INFORMATION access right.

THREAD_SET_LIMITED_INFORMATION

Modify a limited set of thread settings, such as by calling the user-mode SetThreadAffinityMask and SetThreadPriorityBoost routines.

THREAD_SET_THREAD_TOKEN

Modify properties of the thread's impersonation token, such as by calling the user-mode SetTokenInformation routine.

THREAD_SUSPEND_RESUME

Suspend or resume the thread, such as by calling the user-mode SuspendThread and ResumeThread routines.

THREAD_TERMINATE

Terminate the thread, such as by calling the user-mode TerminateThread routine.



러한 오브젝트 보호 메카니즘을 통해서 윈도우즈 세계에서 활개를 치는 악성 코드들로 부터 사용자들이 자유로워질 수 있는 길이 열렸다. 하지만, 예전에도 그러했듯이 분명히 이러한 보호 장치를 우회하는 기법이 나올 것이고, 창과 방패의 전쟁은 계속 될 것이다.








Daum 블로거뉴스
블로거뉴스에서 이 포스트를 추천해주세요.
Posted by 오정욱

Object Manager Filter를 코딩하여 빌드한 후에 윈도우즈 비스타(Vista) SP1시스템에 올려 보면 대부분의 경우 ObRegisterCallbacks 함수가 STATUS_ACCESS_DENIED(0C0000022h)를 리턴하고 콜백을 등록하지 못하는 현상을 경험할 때가 있다.

이 경우는 바로 링커 옵션의 문제로서 Kernel Data and Filtering Support for Windows Server 2008

서의 4(Requirements and Constraints)에 보면 다음과 같이 링커의 옵션("/integritycheck")을 넣으라는 구절이 나온다.




  • All ISV kernel and user mode modules must be linked with the /integritycheck flag set at link time. This will cause the memory manager to enforce a signature check at load time for the referenced code. This link.exe setting is present in recent versions of the Microsoft Visual Studio® linker. If the ISV is using alternate tools to link or edit their produced binaries, this flag setting has the effect of setting (ON) IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY (0x0800) in the image PE header OptionalHeader.DllCharacteristics field.




당 옵션은 비스타에서 새롭게 도입된 옵션으로 보인다. 실제 커널 디버깅을 해 보면, 다음과 같이 _LDR_DATA_TABLE_ENTRY 구조체의 Flags 0x20 플래그가 세팅 되어 있는 것을 발견할 수 있다. 이 플래그 세팅 여부는 MmVerifyCallbackFunction라는 커널의 함수에 의해서 체크가 이루어진다.

With /integritycheck flag unset

With /integritycheck flag set

kd> dt nt!_LDR_DATA_TABLE_ENTRY 83d20bf0

+0x000 InLoadOrderLinks : _LIST_ENTRY [ 0x81b2fbb0 - 0x83ccb3b0 ]

+0x008 InMemoryOrderLinks : _LIST_ENTRY [ 0xffffffff - 0xffffffff ]

+0x010 InInitializationOrderLinks : _LIST_ENTRY [ 0xc0d0003 - 0x0 ]

+0x018 DllBase : 0x91ebb000

+0x01c EntryPoint : 0x91ebf005

+0x020 SizeOfImage : 0x7000

+0x024 FullDllName : _UNICODE_STRING "\??\C:\Windows\system32\drivers\TestDriver.sys"

+0x02c BaseDllName : _UNICODE_STRING "TestDriver.sys"

+0x034 Flags : 0x49104000

+0x038 LoadCount : 1

+0x03a TlsIndex : 0

+0x03c HashLinks : _LIST_ENTRY [ 0x0 - 0xf0dc ]

+0x03c SectionPointer : (null)

+0x040 CheckSum : 0xf0dc

+0x044 TimeDateStamp : 0xa40

+0x044 LoadedImports : 0x00000a40

+0x048 EntryPointActivationContext : (null)

+0x04c PatchInformation : 0x82da7bb9

+0x050 ForwarderLinks : _LIST_ENTRY [ 0x0 - 0x650054 ]

+0x058 ServiceTagLinks : _LIST_ENTRY [ 0x740073 - 0x720044 ]

+0x060 StaticLinks : _LIST_ENTRY [ 0x760069 - 0x720065 ]


kd> dt nt!_LDR_DATA_TABLE_ENTRY 844de7e0

+0x000 InLoadOrderLinks : _LIST_ENTRY [ 0x81b61bb0 - 0x841820b0 ]

+0x008 InMemoryOrderLinks : _LIST_ENTRY [ 0xffffffff - 0xffffffff ]

+0x010 InInitializationOrderLinks : _LIST_ENTRY [ 0x630069 - 0x0 ]

+0x018 DllBase : 0x922c7000

+0x01c EntryPoint : 0x922cc005

+0x020 SizeOfImage : 0x8000

+0x024 FullDllName : _UNICODE_STRING "\??\C:\Windows\system32\drivers\TestDriver.sys"

+0x02c BaseDllName : _UNICODE_STRING "TestDriver.sys"

+0x034 Flags : 0x49104020

+0x038 LoadCount : 1

+0x03a TlsIndex : 0x69

+0x03c HashLinks : _LIST_ENTRY [ 0x0 - 0x61e5 ]

+0x03c SectionPointer : (null)

+0x040 CheckSum : 0x61e5

+0x044 TimeDateStamp : 0x5c0073

+0x044 LoadedImports : 0x005c0073

+0x048 EntryPointActivationContext : (null)

+0x04c PatchInformation : 0x82da7be9

+0x050 ForwarderLinks : _LIST_ENTRY [ 0x0 - 0x650054 ]

+0x058 ServiceTagLinks : _LIST_ENTRY [ 0x740073 - 0x720044 ]

+0x060 StaticLinks : _LIST_ENTRY [ 0x760069 - 0x720065 ]







Daum 블로거뉴스
블로거뉴스에서 이 포스트를 추천해주세요.
Posted by 오정욱

Windows Vista에서 사용되는 커널 스트럭쳐들을 모아 놓았다. Ntdll.dll에 대한 마이크로소프트의 심볼 파일, pdb 파일에서 추출해서 생성하였다고 한다. 32비트 비스타(Vista)를 기준으로 생성 되어 있으며, 좋은 점은 스트럭쳐의 멤버의 타입에 대한 하이퍼 링크가 모두 생성되어 있어서 커널 자료 구조 사이의 연관 관계를 파악하기에 유용하다는 것이다.

한가지 아쉬운 것은 자료 구조의 내용에 대한 설명이 전혀 없다는 것이다. 이것은 다른 자료를 통해서 파악하는 수 밖에 없을 듯 하다.

링크: Windows Vista Kernel Structures











Posted by 오정욱

사용자 삽입 이미지
Vmware에서 윈도우즈를 리모트 디버깅하기 위한 방법은 Lord Of Ring0: Driver Debugging with WinDbg and VMWare에서 소개 되었다. 필자도 해당 방법을 통해서 드라이버 개발과 디버깅 시에 많은 수고를 덜어 왔다.

하지만달전 Vista에서 드라이버 개발을 처음 시작할 때에 가장 황당했던 것이 리모트 디버깅의 세팅이었다. 간단하게 boot.ini에서 다음 스트링을 추가해 주면 되었던 것이 복잡한 명령어들을 사용하도록 바뀐 것이다.


/debugport=com1 /baudrate=115200




간단한 구글링을 통해서 Debugging Windows Vista라는 문서를 찾았고, 사실 문서 내용이 장황하지만, 간단하게 다음 예제처럼 따라 하면 금방 원하는 디버깅이 활성화된 부트 엔트리를 생성할 수 있다.

C:\Windows\system32>bcdedit /copy {current} /d DebugEntry

The entry was successfully copied to {919494ed-866b-11dc-bcb1-000c294d72db}.



C:\Windows\system32>bcdedit /debug {919494ed-866b-11dc-bcb1-000c294d72db} ON

The operation completed successfully.



C:\Windows\system32>bcdedit /default {919494ed-866b-11dc-bcb1-000c294d72db}

The operation completed successfully.



론 중간의 {} 사이의 랜덤 문자열은 때에 따라서 변하므로 주의해야 한다.



또 한가지 windbg의 명령행에서 Lord Of Ring0: Driver Debugging with WinDbg and VMWare의 예제는 resets=0를 지정하여 사용하지만, Vista의 경우에는 어떠한 이유에서인지 해당 값을 1로 세팅해서 사용해야만 했다.

"C:\Program Files\Debugging Tools for Windows\windbg" -b -k com:pipe,port=\\.\pipe\com_1,resets=1



Vista에서 커널을 후빌 수 있는 만반의 준비가 된것이다.








Daum 블로거뉴스
블로거뉴스에서 이 포스트를 추천해주세요.
Posted by 오정욱

종이를 대체하여 모든 것이 전자 문서로 저장되어 있는 지금, 회사에서 업무상이나 개인적으로 민감한 파일들이 많은 요즘이다. 많은 문서들이 유출되고 있는 이 때(FBI loses laptops with classified information)에 민감한 파일을 안전한게 저장하는 방법 중의 하나가 가상 디스크를 이용하는 것이다.

은 가상 디스크 유틸리티들이 있지만 그 중에 안정적이면서 무료이면서 오픈소스인 툴이 바로 "TrueCrypt"이다.

http://www.truecrypt.org/



2004 2 1.0 버전이 나온 이후로 많은 기능 향상이 있었고, 존에 존재하는 디스크 파티션이나 USB 플래쉬 드라이브를 암호화 할 수 있다.

Windows Vista/XP/2000 Linux 까지 지원하므로 한 볼륨으로 여러 종류의 OS에서 때에 따라서 억세스 가능하다. 가상 디스크는 평범한 파일의 형태로 존재하고 해당 파일이 TrueCrypt용 볼륨 파일이라는 시그너쳐가 존재하지 않으므로 공격자가 해당 파일을 입수하였다고 하여도 일단 해당 파일의 타입 자체를 추측하는 것부터가 난관으로 작용하게 된다.



또한 암호화 알고리즘으로는AES-256이나 Serpent,Twofix 등의 암호화 기법을 지원한다. AES-256의 경우 CNSS Policy No. 15, Fact Sheet No. 1: National Policy on the Use of the Advanced Encryption Standard (AES) to Protect National Security Systems and National Security Information에 의해서 "TOP SECRET" 레벨의 정보를 암호화하기에 적합한 암호 기법으로 인정 받았다.

(6) The design and strength of all key lengths of the AES algorithm (i.e., 128, 192 and 256) are sufficient to protect classified information up to the SECRET level. TOP SECRET information will require use of either the 192 or 256 key lengths. The implementation of AES in products intended to protect national security systems and/or information must be reviewed and certified by NSA prior to their acquisition and use.



용법도 간단해서 단지 일정한 크기의 가상 디스크를 생성하고 마운트한 후에 보호하기를 원하는 파일들을 해당 드라이브로 복사하기만 하면 된다.



Illustration 1: 가상 디스크를 S 드라이브에 매핑한 모습




랜 시간동안 개발용 디스크를 가상으로 마운트해서 사용하고 있지만, 아직까지 문제를 일으키거나 퍼포먼스의 차이를 현저하게 느낀 적은 없었다. 누출되기 쉬운 소스 코드의 경우나 랩탑이나 USB 메모리 스틱에 민감한 정보를 담아서 다니는 경우 분실 사고를 대비해서 이러한 가상 암호화 디스크툴을 사용하는 것이 좋은 습관이다. , 패스워드를 잊어 버렸을 경우에 해당 파일은 영영 찾을 수 없으므로 주의해야 한다. :(



Daum 블로거뉴스
블로거뉴스에서 이 포스트를 추천해주세요.
Posted by 오정욱
사용자 삽입 이미지
 주위에서 이미 pdf 파일을 이용한 공격으로 피해를 당하는 사람들이 늘고 있다.

해당 파일을 실행하면 Adobe pdf 파일의 메일 링크를 열지 않도록 한다.
아직까지 IE7 패치가 나오지 않은 이상 간단하지만 강력한 보안 책이다.

공격은 첨부된 pdf 파일을 단지 더블 클릭하면 실행되고, 임시 파일에 ftp 명령어를 써 넣은뒤 cmd.exe를 통해서 실행 시키는 방식이다.

해당 reg 파일을 통한 패치는 adobe pdf 리더의 이러한 mail 링크 기능을 임시로 죽여 주는 역할을 한다.

Ignore.reg

이 파일을 다운로드 해서 실행 시켜 주기만 하면 된다.

 
공격에 대한 자료는 2007/10/24 - [일/취약점 경보] - PDF 잘못된 URI 설정을 사용한 공격: PDF 파일 함부로 열지 말자 를 참조하기 바란다.
Daum 블로거뉴스
블로거뉴스에서 이 포스트를 추천해주세요.
Posted by 오정욱

불과 몇 년 전까지만 해도 인터넷에 연결하려면 제법 요란한 다이얼 소리를 들어야 했다. 그에 비하면 요즘의 무선 인터넷 광고는 기술의 폭주를 새삼 실감하게 한다. 무선 인터넷의 보급은 거추장스러운 케이블을 치우는 데 일조했지만 사용자들을 그 이전 시기에는 미처 생각지도 못했던 잠재적 위험에 노출시키기도 했다. 무협지에서 검 하나로 강호를 평정하는 황당무계한 이야기가 현실에서는 이동형 장비 하나로 네트워크를 쑥밭으로 만드는 악당이 나타나는 더욱 괴기한 이야기가 되어 돌아올 수도 있다. 이번 호 테크니컬 칼럼은 바로 눈앞에 닥친 '보이지 않는 위협'에 관한 내용이다.

무선 랜(wireless LAN)은 이미 우리 생활 속에 아주 깊숙히 파고 들고 있다. 자신도 모르는 사이에 액세스 포인트(access point)와 무선 랜 카드를 장착한 노트북, 모바일 기기들이 내뿜는 2.4GHz의 전파 속에 파묻혀 살아가고 있다.

눈을 뜨지 않으면 앞이 보이지 않는 것처럼 바로 자신의 주위에 이러한 데이터들이 날아 다녀도 적당한 도구를 사용하지 않으면 전혀 알지 못하고 살아가게 된다. 어쨌든 무선 랜 탐지 행위를 한 번 해 본다면, 무선 랜이 얼마나 우리 생활에 파고들었나를 알게 될 것이고, 또 무선 랜이 얼마나 보안에 취약한지 알게 될 것이다
.

무선 랜을 사용하는 사이트 중 WEP(Wireless Equivalent Protocol)이라는 암호화를 사용하는 사이트의 비율은 30% 이하로 알려져 있고 실제로도 그렇다. 나머지 70%는 대문을 활짝 열어 놓고 침입자를 기다리는 꼴이다. 그리고 나머지 30% 중에서도 WEP 크래킹을 통해 침투 당할 가능성이 50% 이상 될 것이다. WEP의 취약성으로 인해 패킷을 어느 정도 수집하면 크래킹이 가능하기 때문이다. 침투당하지 않을 만한 사이트는 추측컨대 10% 미만일 것으로 생각된다. 한 마디로 인증 서버를 두거나 VPN(Virtual Private Network)을 쓰거나 하는 투자를 하지 않으면 무선 랜은 아주 위험한 물건이다
.

Hacker's Challenge』라는 책을 보면 2002년에 발생한 보안 사건들을 주로 다루고 있는데 20가지 에피소드 중 세 가지가 무선 랜 보안과 연관된 것이었다. 이러한 무선 랜 관련 이슈는 우리나라에도 점점 적용되어 가는 상황이다
.

이 책에서 나온 세 가지 에피소드의 예를 살펴보면 다음과 같다.

Episode 3, The Parking Lot : 무선 랜을 타고 내부망으로 바로 들어온 해커에 대한 문제다. 무선 랜 셋팅과 관련된 가장 나쁜 예가 내부망에 무선 랜을 바로 설치한 경우이다. 방화벽 등으로 액세스 포인트를 분리하지 않았을 경우 무선 랜을 경유한 내부망 침투가 이뤄지게 된다. 이 경우 침입자는 대상이 되는 건물 근처의 주차장에 차를 세워두고 노트북과 무선 랜 카드를 이용하여 네트워크에 침투했다. 해킹 사고가 발생할 때 그 근처를 순찰하던 경찰에 의해 '우연히' 발각됐다. 우연이 아니라면 이러한 침입자를 추적하기는 실제로 아주 힘들다.

◆ Episode 7, Up in the Air : WEP
이나 MAC 필터링을 깨고 무선 랜에 침입한 사례로서 WEP이 실제로 크래킹이 되고, MAC 필터링도 MAC 주소 조작을 통해 깨질 수 있음을 보여준다. 그리고 이러한 크래킹과 조작에 필요한 기술들은 아주 높은 스킬을 필요로 하지 않는다
.

◆ Epidose 11, Accidental Tourist :
의도하지 않은 무선 랜 공격을 보여준 사례로서 우리나라에 현재 무선 랜을 통해 인터넷 액세스를 제공하는 카페나 패스트푸드점이 많은 상황과 비슷한 상황에서 발생한 일이다. , 의도하지 않게 카페에서 인터넷을 사용하던 사용자가 우연히 같은 설정을 가진 같은 건물의 윗층 사무실 네트워크에 접속하게 된 사건이다. 이 경우 사용자는 악의를 지니지 않아서 별다른 피해를 입히지 않았다. 하지만 이러한 종류의 문제조차도 원인을 발견하고 해결하는 데는 많이 시간이 필요한 작업이다.


무선 랜이란 무엇인가

여기에서 논의의 대상이 되는 무선 랜은 2003년 현재 가장 널리 사용되는 802.11b 규격을 준수하는 로컬 네트워크를 의미한다. 802.11b 표준은 현재 가장 많이 사용되는 무선 랜 표준으로 현재 상용화된 대부분의 무선 랜 장비들이 지원한다. 또한 이 표준은 Wi-Fi라고도 알려져 있다. 2.4GHz 대역(2.400~2.4835GHz)에서 작동하고 한 액세스 포인트에서 최대 수십 대까지의 장비를 연결할 수 있으며, 각 스테이션은 최대 11Mbps의 전송 용량을 공유한다. 물리 계층에서는 DSSS(Direct Sequence Spread Spectrum)라는 프로토콜을 사용하여 통신하는데, 이 프로토콜은 신호의 강도를 높여 전송하는 방식으로서 전파의 도달 거리가 늘어나게 된다. 또한 주파수별로 열네 개의 통신 채널을 제공하고 국가에 따라서 이 중 일부 채널을 사용하게 된다. 2.4GHz 주파수 대역은 ISM 밴드라고도 한다. 미국의 FCC(Federal Communications Commision)에서 정한 주파수 대역으로 902MHz, 2.400GHz, 5.7GHz 대역이 할당되어 있다. 산업용, 과학용, 의료용으로 당국의 허가 없이 사용할 수 있다. 블루투스나 무선 랜 등이 이 주파수를 사용한다.


 


무선 랜의 취약점
기본적으로 무선 랜은 유선 랜과는 달리 대부분의 경우 물리적인 보안이 전혀 이루어지지 않는다는 것이 무선 랜 보안 문제의 핵심이다. 무선 랜의 경우 전파의 도달 거리가 보통 100m에서 500m, 그리고 안테나를 사용할 경우 최대 5km에 이르기 때문에 물리적으로 이러한 도달 거리 내에 존재하는 공격자들을 통제하기가 힘들다. 전파를 투과하지 못하는 금속성 물질들로 건물이나 방 전체를 도배한다든지 하는 방법도 있지만 이 경우에는 상상하는 것 이상의 비용이 든다. 이러한 무선 랜의 취약성에 대비해 WEP이라는 암호화 방법을 제공한다. 하지만 이 암호화 방법은 데이터 수집을 통한 크래킹에 매우 취약한 것으로 알려져 있다.

WEP(Wired Equivalent Privacy)
은 단어의 의미와도 같이 유선 랜과 동일한 정도의 보안성을 획득하기 위한 표준이다. 802.11 표준의 선택 사항으로서 구현해도 되고 안 해도 되지만 안전한 네트워크 사용을 위해서는 사용할 것을 권한다. 스테이션 사이나 스테이션과 액세스 포인트 사이에 공유하는 비밀 암호화 키를 먼저 생성한 이후 데이터 스트림을 암호화하게 된다. 이러한 암호화 키를 생성하기 위한 최초의 키는 사용자가 입력해야 하고, 각 스테이션과 액세스 포인트 사이에 동일하게 셋팅되어야 한다.