802.11의 결합 과정

 

802.11의 결합과정에는 두 가지가 존재한다.

우선 수동적인 passive모드와 능동적인 active모드.

우선 passive부터 알아보도록 하자.






 

패시브모드는 우선 AP가 station에게 beacon을 날립니다.

 

비콘이 뭐냐하면, 예를들어 AP이름이 IPtime이라고 하면 자신이 IPtime이라고 암호설정 유무에 관계없이 광고를 하는겁니다 계속..

이렇게해서 연결되도록 광고를 하는 것을 비콘이라고 합니다.

 


그렇게 비콘을 보내면 station이 AP에게 열려있나?하고 authentication request(인증 요청)을 보냅니다. 만약 열려있다면 열려있다고 응답이 오겠죠. 이를 authentication response (인증 응답)라고 합니다.

 


인증절차가 끝이 나게 되면 station은 AP에게 association request(결합 요청)을 합니다. 그리고 AP로부터 association response(결합 응답)을 받아, 결합이 되고나면 성공적으로 연결이 된 것입니다.

 


결합과정까지 끝이나면 AP는 station에게 Association ID(AID)를 부여하게 되는데, 이는 순차적으로 분배되어 집니다.(ex 1,2,3…)




패시브 모드는 여기까지 알아봤으니 이젠 액티브 모드를 알아봅시다.






 

엑티브모드란, 패시브 모드를 통해서 한번 결합하고 나면 station내에 profile이 생성되는데(이 profile에는 AP의 이름과 암호가 저장된다) 이를 통해서 다음에 한번 더 참조하여 연결 할 필요없이 감지가 되면 자동적으로 연결을 하는 모드를 말한다.

 


우선 엑티브 모드는 probe request와 probe response를 통해서 한 번 이전에 접속했던 AP를 찾아, 그 반응을 조사한다.

 


이 말은, 엑티브 모드는 이전에 접속한 AP를 station이 profile을 통해 기억하고 있기 때문에 그 신호가 감지가 되면 자동적으로 그 AP를 받아온다는 뜻이다.

 


이 과정이 끝나면 인증을 하게되고 인증절차가 끝이나면 비로소 결합을 하게된다.(이 과정은 패시브와 똑같다)

 


그리고 마찬가지로 결합이 끝이나면 AID를 부여해주어 순서를 지정해주고 통신을 하게된다.





출처 - 옛날 블로그 2011/02/09 02:16

 


Posted by extr
:

802.11 frame

  

이 그림은 802.11의 대략적인 프레임을 나타낸 것이다.

 

앞의 CSMA/CA에서 본 것과 연관지으면 편하게 볼 수 있다.




우선 처음으로 FC를 할당 시킨다(FC란건 프레임 컨트롤이라 하는건데 설명은 나중에 따로 포스팅할게요 ㅋ).


그리고 CSMA/CA와 같이,우선 연결이 됬으면 station이 AP에게 RST를 보내는데, 이 때 NAV값을 보낸다.





그 시간이 FC다음으로 할당 되고 다음 source address에는 출발지 주소.. 그러니까 station의 주소가 들어가게 된다.


그럼 당연히 그 다음에 있는 목적지 주소인 destination에는 AP가 된다.


Destination 사이에 있는 sequence control은 순서를 지정해 주어 누락된 데이터를 채워주기 위함으로 사용된다.


그리고 또다시 destination의 주소가 오고 데이터 송신을 하게 된다. 


데이터를 다 보내고 나면 FCS(Frame Check Sum)이라고 하는 프레임 오류 검사를 수행하고 끝이 난다.






출처 - 옛날 블로그 2011/02/09 02:10



Posted by extr
:

CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)

 

CSMA/CA란, CSMA/CD의 변형으로서, 기타 다양한 무선 접속방법들과 함께 사용되는 방법이다.

 




 

 

Station이 AP에게 NAV값을 실어 보낸다. 이 과정을 RTS(Request to Send)라 한다.

 

*NAV값이란 Network Allocate Vector의 약자로, ACK까지 걸리는 시간을 미리A가 정해놓은 시간을 말한다.

 

 

B는 Broadcast로 연결된 모든 Station들 에게 A의 NAV값에서 자신을 거친 시간을 뺀 값을 보낸다.

A가 아닌 다른 Station들은 그 값이 자신의 값이 아님을 알고 버린다. 이는 충돌을 방지하기 위함으로 쓰인다.

 

 

 

그리고 A도 B에게 Broadcast를 통해 NAV에서 B까지 거친 시간을 뺀 값을 보내는데 이 과정을 CTS(Clear to Send)라고 한다.



4. CTS과정이 끝나면 A는 B에게 데이터를 전송하게 된다.

 


5.  Data 전송이 끝나게 되면 B는 A에게 ACK패킷을 보내는데 이는 무선이 아직 안정적이지 않기 때문에 확인절차를 거칠 필요가 있어서 이 패킷을 보내는 것이다.


만약, ACK패킷을 받지 않았다면 Data가 수신되지 않을 줄 알고 A는 ACK패킷을 받을 때 까지 Data를 계속 보내게 된다.






출처 - 옛날 블로그 2011/02/09 02:05

 



Posted by extr
:


802.11a/b/g

 

 


802.11/a는 주파수 대역이 크고, 최대 전송 속도도 빠르다.


하지만, 주파수 대역이 커서 파장이 짧아 장거리 통신은 불가능하다.


그런 이유로 /a는 가용성을 높이기 위해서 사용된다.


 

802.11/b는 제일 처음으로 등장한 전송 방식으로, a에 비해 낮은 대역의 주파수를 사용하고 

다른 전송 방식보다 낮은 속도를 가지고 있다.

 


802.11/g는 주파수 대역이 작고, 최대 전송 속도도 빠르다.


주파수 대역이 낮은 이유에서, 장거리 통신이 가능하지만, 가용성이 보장되지 못한다.





출처 - 옛날 블로그 2011/02/09 02:01

 

 

Posted by extr
:

무선 네트워크의 세부 아키텍쳐

 

무선 네트워크의 구조에는 DS방식,BSS방식,ESS방식 그리고 Ad-Hoc이라는 방식이 있다. 우선 DS 방식부터 알아보도록 하자.

 

 




-DS(Distributed System)


말 그대로 DS는 분산 시스템을 의미한다. 이 분산 시스템은 물리적으로 서로서로 연결되어 있는 장치들을 말한다.

 

 

즉, 무선에서의 유선 구간을 DS라고 칭한다.

 

 





-BSS(Basic Service Set)


하나의 AP에 Station이 다중 접속된 환경을 의미한다.

 






 

-ESS(Extended Service Set)


DS와 반대로, 유선을 제외한 무선 전 구간을 뜻한다.

 

 






 

-Ad-Hoc

 

애드혹이란, AP없이 station끼리 연결되어 무선 통신을 하는 방식인데

 

이 방식은 peer to peer방식이 아니며, 2대 이상의 station끼리 무선 통신을 하는 것이다. (AP는 관여하지 않고)

 

peer to peer 방식이 아닌 이유는 p2p라는 정의 자체가 station 과 AP와의 통신 또한 포함되기 때문이다.





출처 - 옛날 블로그 2011/02/09 01:58

 

 


Posted by extr
:

802.11의 시스템

 

 





무선 네트워크의 구조이다.


우선 무선인터넷의 제일 최상단에 위치하는 라우터는 흔히 백본 라우터 (Backbone Router)혹은 백본 네트워크(Backbone Network)라고 부른다.


 

백본 이라고 하면 어떤 해당 업체에서 인터넷으로 연결되는 주요 회선이라 하고, 이 백본 회선에 연결되어 있는 메인 라우터를 백본 라우터라고 한다.





 AP(Access Point)란 무선 네트워크 서비스를 제공해주는 공유기이며,

물리적 장치를 의미한다. 802.11 a/b/g/n을 지원한다.





Station이란, 무선 랜 카드(NIC)가 탑재되어 AP의 서비스에 반응을 할 수가 있는 무선 단말기를 통틀어 말하는 것이다.

그 예로 노트북,PDA,스마트폰 등이 있다. 





출처 - 옛날 블로그 2011/02/09 01:52



 

Posted by extr
:

RF Spectrum

 

RF(Radio Frequency)란, 무선 주파수를 의미한다.






이건 RF 스펙트럼 이라고 해서 무선 주파수의 스펙트럼을 나타낸 것이다.


잘 보면 WiFi 그리고 11b/11g라고 적혀있고 그 밑에 2.4GHz라고 적혀있는데, 이는 802.11 b/g는 무선주파수 대역을 2.4GHz를 사용한다는 의미이다.


그리고 옆에 802.11a를 보면 이전에 언급한 11b/g와는 달리 통신 주파수가 다른데, 이러한 주파수가 달라지면 어떤 점이 개선되고 어떤 점이 개악되는지는 나중에 가서 설명할 것이다.


아무튼 802.11 b와 g는 2.4GHz대역을 사용하고, 802.11 a는 5GHz대역을 사용한다고 알면 된다.

 

 

RF의 감쇄


 


RF란 앞서 설명했지만 무선 주파수를 의미한다.

 

이 전파도 일정 환경이 되면 시그널감도가 어느 정도 감쇄되기 마련인데, 우리 주변의 이 공기도 전파의 감쇄 원인이 된다. 그 이유는 공기 중에는 눈에 보이지 않는 미세입자가 있기 때문에 그런 것이다.

 

하지만 공기 외의 목재 플라스틱 합성물질 석면 유리..등은 전파를 비교적 낮은 정도로 감쇄시킨다.

 

물이나 벽돌,대리석 같은 것들은 중간 정도의 감쇄도를 가지고 있어 전파방해를 일으키기 쉽다.

 

우리 사람도 70%이상 물로 이루어져있기에 사람 또한 감쇄요인이 된다.

 

종이,시멘트,방탄유리 등은 비교적 높은 감쇄도를 지니고 있고, 금속체는 매우 높은 감쇄도를 지니고 있어, 전파를 차단

시킨다. 그런 특징을 이용하여 밖으로 누설되면 안되는 전파는 금속을 이용하여 차단시킨다.

 

 

 

출처 - 옛날 블로그 2011/02/09 01:48

 

Posted by extr
:

Antenna

 

안테나에는 크게 두 종류로 나뉜다.

 

옴니(Omni)안테나 디렉셔널(Directional)안테나.

 

우선 옴니 안테나부터 살펴보도록 하자.




옴니 안테나에는 여러 가지 종류가 있다.

우선 옴니 안테나의 전파가 어떻게 나가는지 살펴보자. 옴니 안테나는 전파가 광범위하게 분산되어 나간다. 즉, 방향성이 없이 그냥 말 그대로 산개되어 나간다. 그런 이유에서 옴니 안테나를 무지향성 안테나라고 부른다.

 

 


 

 

이제 디렉셔널 안테나에 대해서 살펴보자.

 

 

디렉셔널 안테나 또한, 옴니 안테나 못지않게 종류가 여러 가지가 있다.

디렉셔널 즉, 방향성 안테나는 말 그대로 방향성이 있는 안테나이다. 즉, 옴니처럼 분산되거나 하지 않고 한 방향으로만 가는 그런 방식이다.

그래서 디렉셔널 안테나는 풀이해서 지향성 안테나라고도 부른다.

 

 



총정리 하여 장 단점을 말하자면,


무지향성 안테나 즉, 옴니 안테나의 경우 전파가 광범위게 퍼지기만 하니까 많은 대역을 확보할 수 있다. 하지만, 산개되는 만큼 수신 강도가 그만큼 떨어진다.


지향성 안테나 즉, 디렉셔널 안테나의 경우엔 그냥 한 방향으로 쭉 쏴버리니까 소수의 대역을 강한 강도로 확보할 수 있다. 하지만 말 그대로 소수의 대역만 확보하기 때문에 그러한 점이 단점이 될 수 있다.




출처 - 옛날 블로그 2011/02/09 01:44


 

Posted by extr
:

IEEE란?

 

IEEE란, Institute of Electrical and Electronics Engineers의 약자로, 전기 전자 공학 전문가들의 국제 표준을 정하는 단체이다.

 

그럼 802.11이란 무엇일까?

 

802.11(eight O two – Dot – eleven)이란, IEEE에서 만든 무선 네트워크에 대한 표준이며 규격에는 현재 802.11a/b/g/n이 있고 이들 모두 경로 공유 프로토콜로서 CSMA/CA를 사용하고 있다.


 


이 그림은 802.11이 어디에 속해있고, 그 외의 것들은 어떤 것들이 있는지 표현해준다.


우선 WPAN(Wireless Personal Area Network)이란, 말 그대로 무선 개인지역망 말이다. 여기엔 블루투스 등의 개인 디바이스들이 속하게 된다.


그리고 802.11이 속하는 WLAN(Wireless Local Area Network:무선 근거리 통신망)은 와이파이 등이 존재한다. 802.11에는 크게 a/b/g/n가 있는데 이건 나중에 가서 알아보도록 하고 일단 이런게 있구나 하고 알아만 두자.

 

그다음으로 WMAN(Wireless Metropolitan Area Network:무선 도시지역망)은 와이맥스란게 있는데, 이는 우리가 잘 알고있는 와이브로를 뜻한다. 와이브로는 그 지역내부에선 어디든지 인터넷이 잘 되지만 다소 느리다는 단점이 존재한다.

 

마지막으로 WWAN(Wireless Wide Area Network:무선 광대역 통신망).

WWAN은 이해하기가 매우 쉬울 것이다. WWAN의 대표적인 예로 휴대폰이 있는데, 그 이유는 어디서든 통신이 되기 때문이다(일부 지역을 제외하고) 지구 반대편에서 전화를 걸어도 받을 수 있는게 휴대폰이 아니던가.. 그런 이유에서 WWAN에는 2G…4G 셀룰러가 들어가게 된다.



출처 - 2011/02/09 01:37 내 옛날 블로그

Posted by extr
:

어느 프로그램이건 가끔 다운받아서 실행하면 DLL을 찾을 수 없습니다 또는 로드할 수 없습니다 하면서 실행이 안되는 


경우가 다들 한 번 쯤은 경험이 있을 것이다.



DLL이란?? 간단한 예를 들어서 알아보도록 하자. 


A파일과 B파일이 있고 두 파일 모두 C함수를 공통으로 사용한다. 그렇다고해서 A와 B파일에 C를 박아버리면 용량


이 둘 다 커져버리니 비효율적이라고 할 수 있다. 그래서 C를 DLL로 만들어버리고 외부에서 참조하도록 하여 용량도 줄이


고 효율적으로 관리(C함수에 오류가 나면 모든 파일을 뜯지 않고 C.DLL만 고치면 해결됨)할 수 있게 된다. 바로 이렇게


효율적으로 파일을 관리하기 위한 목적을 지닌 것이 DLL이다. 



그럼 이러한 DLL을 변조하면 어떻게 될까?


C함수를 임의적인 악성코드로 바꿔치기했다고 하자. 그렇다면 C.DLL이 연결된 모든 프로그램들은 실행이 될 때 마다 외부


참조를 사용하여 C.DLL을 읽어버리기 때문에 주옥되는 수가 있다.


이러한 시스템 DLL 파일을 사용하지 않는 방법은 크게 3가지가 존재한다.


1. 프로그램의 실행에 있어 필요한 순수 DLL 파일들을 실행 파일이 있는 폴더로 모두 옮긴다. 


2. DLL Redirection을 이용한다.


3. 실행파일의 코드를 수정한다.


1번 방법은 실무에 사용하기엔 적합하지 않기 때문에 추천하지 않는다.


3번째 방법을 먼저 보면, 코드를 수정하여 DLL을 프로그램에 정적으로 박아버린다는 말이 된다. 이는 보안상 괜찮겠지만, 


필요한 DLL을 프로그램에 모두 박기 때문에 용량이 매우 커질 수 있고, 이로 인해 프로그램의 가독성과 효율성이 떨어지기 


때문에 추천하지 않는다.


이제 2번 방법인 DLL Redirection에 대해 알아보자


DLL 리디렉션이란, 시스템에서 기본적으로 지원하는 DLL 파일을 사용하지 않기 위해 사용하는 기술이다.


또한, 이는 시스템 DLL보다 검색 순서(프로세스가 필요한 DLL 파일을 찾기 위해 검색하는 순서)가 높기 때문에 사용된다.


if SafeDllSearchMode is Disabled.


1. SxS(Side by Side Assembly)파일에서 지정된 폴더 안의 DLL

2. DLL Redirection에 의해 지정된 폴더 안의 DLL

3. IpPathName이 가리키고 있는 폴더 안의 DLL

4. Known-DLL-File

5. 필요로 하는 개체와 같은 폴더에 있는 DLL

6. 현재 폴더에 있는 DLL

7. 시스템 폴더에 있는 DLL

8. 윈도우 폴더에 있는 DLL

9. 윈도우 환경 설정 정보에 있는 Default Path 중에 있는 DLL


DLL 리디렉션을 사용하는 방법은 다음과 같다.


1. *.exe.local 형식의 파일과 필요한 DLL 파일을 같은 폴더에 넣는 방법

2. *.exe.local 형식의 폴더를 생성하여 *.exe 파일과 필요한 DLL을 넣는 방법




[FIGURE 1 - DLL Redirection 실행 전(Win7)]


nc.exe를 실행했을 때 프로세스의 모습이다.


다수의 DLL들이 모두 윈도우 폴더에 존재하는 DLL 파일을 참조한다. 


그렇다면 DLL Redirection을 사용하게 된다면?




 [FIGURE 2 - DLL Redirection 실행 후(WinXP)]


nc.exe가 참조하는 DLL인 ws2_32.dll을 DLL Redirection한 것이다.


보면 시스템 DLL로써 참조하지 않고 DLL Redirection된 파일로써 참조되어지고 있다. 






[FIGURE 3 - DLL Redirection 실행 후 (Win7)]


윈도우 세븐에서 실행했을 땐 리디렉션이 실행되지 않는다.


리디렉션이 진행되지 않는다면 SxS 폴더로 지정되었다는 것 밖에 답이 없는데.. 솔직히 말해서 SxS에 대한 글을 봐도


이게 "dll hell 막기 위한 것이다" 라던가 "DLL 충돌 일어나지 않게 하기 위한 것이다" 라는 것 밖에 모르겠다.


SxS에 대해 자세히 알고싶은 사람은 http://bit.ly/LuMqPu 에서 보도록...




'공부 > Forensics' 카테고리의 다른 글

데이터 복구와 파일 카빙의 차이점  (0) 2012.07.05
[PaulTew]Timelord  (0) 2012.07.05
Sysinternals  (0) 2012.05.07
Windows Vista/7 Recycle.bin 분석  (1) 2012.01.10
NT/2K/XP 휴지통 파일 분석  (4) 2011.12.19
Posted by extr
: