1579, 1/79 회원가입  로그인  
   아이프리드
   http://www.homm.woobi.co.kr
   하드웨어와 소프트웨어...그리고 불가능한일?

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=469 [복사]



--------서문-------------------------------------------------
이글은 지극히 개인적인 의견과 미흡한 지식기반으로 쓰여졌기때문에
절대!! 맞다고 말할수 없는 글입니다. 강력한 태클은 힘들어해요..**
-------------------------------------------------------------

0x01 구조적 형태.

상층            [ 하드웨어 ]
                 [ O      S ]
                 [소프트웨어]          하층


제가 '생각'하는 구조는 간단히 표현하면 위와 같습니다.
하드웨어는 모든것의 가장 상층부에 위치하며 아래의 두층이 동작하기위해서는
하드웨어층의 조건이 모두 만족해야 한다....라는 의미에서 가장 위에 존재합니다.

그리고 OS는 가장 하층부의 소프트웨어와 하드웨어간의 유기적인 정보전달을
담당하며 기본적으로 갖춰줘야 할 녀석이죠.

마지막으로 소프트웨어는 있으나 없으나 관계는 없지만 좀더 사용자에게 도움이
되기 위해 OS외의 소프트웨어를 칭합니다.

중요도로 따지자면....하드웨어 > OS > 소프트웨어  이런식이죠....
하드웨어는 모든것의 기본이 되며...가장 중요하기에 없으면 안되는겁니다. 이녀석이
있어야 컴퓨터란것이 존재 할수 있는거죠....그리고 OS는 비중이 그다음입니다. 모든
부품을 갖춘[하드웨어] 컴퓨터는 컴퓨터라고 부를 수 있죠.....하지만 이녀석을 동작
시키기 위해서는 OS가 필요합니다....이녀석은 하드웨어보다는 중요도가 떨어지지만
일다는 있어야 컴퓨터를 쓰죠....

이런식으로....하드웨어 : OS, S/W를 존재시키게 하기 위한 절대 필요한 그것.
               O      S : 하드웨어만으로 제어할수 없는 컴을 제어하기 위한 그것.
             소프트웨어 : 필요하진 않지만...OS가 할수 없는 작업을 위한 그것.


0x02 동작형태

하드웨어는 모든 동작이 물리적인 형태입니다. 팬을 돌리는 전자[전기]나 CPU를 구동
하고 ROM/RAM 을 액세스 하는등의 모든 형태가 말이죠.... 하지만 이런 모든 전기적
인 물리적 형태는 그냥 하고 싶다고 생기는 것이 아니죠.

그래서 필요한 것이...[OS] OS역시 전기적 형태로 움직이는것은 마찬가지입니다. 하
지만 인간의 눈으로 알아보지 못할 하드웨어의 동작형태와는 달리 가상의 공간에서
인간이 직접 눈으로 OS가 하는 일들을 볼수 있는것이죠. 하지만 OS는 가장 큰 목적인
'하드웨어의 제어'를 위해 많은 일을 합니다. 그래서 그 외의 사용자를 위한 작업은
다른 녀석들이 할 필요가 생긴거죠.

S/W입니다. 절대적인 범위에서는 OS도 이것에 속하지만...OS와 S/W[응용프로그램]의
목적자체가 다르므로 다른 범위에 넣었습니다. S/W는 하드웨어 제어를 목적으로 하는
것이 아니라 사용자가 필요로 하는 작업[프로그래밍, 아트한 작업, 게임등]을 위해
쓰입니다.


0x03  우리가 필요한 그것!!

하층부의 소프트웨어로 상층부의 하드웨어를 100%로 제어하기!!!
바로 그것입니다. 물리적으로 꺼져 있는 서버에 전기를 공급해 물리적으로 활성화
시키거나[소프트웨어로!!] 닫혀진 포트를 외부에서 열거나[소프트웨어로!!] 그 가능
성은 무궁무진 합니다.


하.지.만.....현재 내려진 결론은 이런일들이 불가능합니다.
왜냐....위에서도 나왔듯이 하층부는 바로 상층부의 녀석만 제어하거나 아래쪽 녀석
들만 제어 할수 있는 데다.....상층부의 녀석을 제어 할때도 100%로 제어 할수 있는
것이 아니죠.

모든것이 자연의 섭리가 허가하는 그곳 까지만 제어가능합니다....거창한 말이지만.
생각을 해보죠.

컴퓨터가 꺼져있습니다. 하지만....이녀석을 외부에서 켜고 싶어요. 우린 보통 그럼
전원을 누르지 않습니까? 이건 물리적 형태로 하드웨어를 제어한것입니다. 왜 귀찮게
직접 인간이 물리적 형태로 하드웨어를 제어하나?? 그건...소프트웨어로 불가능하기
때문이죠.

하드웨어 구동 -> 소프트웨어 구동 -> 하드웨어 제어.....이런 구조로 작동되는 녀석
이.....

소프트웨어 구동 -> 소프트웨어 제어 -> 하드웨어 구동....이런식으로 할려는겁니다.

될리가 없겠죠? 전원도 들어가지 않은 녀석이 소프트웨어를 구동 시킬수가 없으니까
요..............


0x04 불가능? 정녕!!

하지만...제가 생각하기엔....어쩌면 가능할지도 모른다는 생각이 듭니다.
그러나 이것을 성공시키기 위해서는 어떠한 조건들을 무수히 충족시켜둬야 될지도
모르죠.

[하드웨어] -> [OS 구동]
[OS]       -> [하드웨어 제어]
[OS]       -> [소프트웨어 제어]

이런 구조입니다. OS가 유기적으로 소프트웨어와 하드웨어를 오가며 일을 하죠.
위 구조가 성립하기 위해서는 가장 먼져 하드웨어가 구동되어야 하는 조건이 성립
되야 합니다.


하지만....외부의 컴퓨터를 제어하기 위해서는 어떻게 해야 할까요?

[하드웨어 구동] -> [OS 구동] -> [OS가 하드웨어 제어]
                              -> [OS가 소프트웨어 제어]

이걸...

[하드웨어 구동] -> [OS구동] -> [OS가 소프트웨어제어, 하드웨어제어] -----------
--------> [외부의 OS '접속'] -> [외부의 S/W 제어] 이런식으로 바뀌죠...'접속'이
란....OS를 사용은 하지만 변형시킬 권한은 없다는 뜻으로 쓴겁니다.

물론 위의 구조는 외부의 컴퓨터가 물리적으로 켜진 상태여야 한다는 겁니다.
그렇다면...어떻게 물리적으로 구동불가능한 컴퓨터를 활성화 시킬수 있을까요?

이건 좀더 컴퓨터 구조와 OS의 구조, 제어원리에 대해 공부해야 알겠지마 대충...
생각하기에...[죄송합니다. 미흡한 지식이라....]


[전원을 누르면] -> [내부의 조그만 발전기가 가동] -> [전원어댑터를 가동] ->
[ROM을 액세스] ->  [ROM내부에 저장된 구동 프로그램이 구동] -> [OS를 켠다] ->
[대기상태가 된다]

대충 이런식으로 물리적 형태가 전기적 형태로 변화하는것 같습니다. 조그만 발전기
가 전원어댑터를 가동시키기 위한 최소 전력을 발생시키면 바로 다음부터는 전원어댑
터가 외부에서 전력을 끌어와 컴퓨터를 구동시키는 것 같군요.
이런 형태는 자동차의 시동을 거는 형태와 동일한 것입니다.[진짜입니다 ==]


어쨋든....그럼....프로그래밍으로 전원어댑터의 가동까지 시킬수 있을까 라는 의문
이 듭니다. 생각해보면....불가능하죠. 하지만...C++을 넘어선...D[예상으로==]나..
D++또는 E라는 프로그래밍 언어가 하드웨어까지 제어 가능할수 있는 명령어...즉
조그만 발전기에 IC를 달아...이런녀석 까지 제어가능 한 컴퓨터가 생산되고 프로그
래밍 언어가 나온다면 가능할지도 모릅니다....란 예상이 드는군요.
그래도 미래가 암울합니다....일부러 조금만 구동장치에...IC등을 달아 소프트웨어가
구동하도록 할필요가 없잖습니까?

하지만...인간은 필요에 의해 필요를 위해 창조를 할줄 알기에...어떠한 외부주파수
를 통해[아아 점점 공상이 되어갑니다...] 성공할지도 모르죠....이건 농담이구요.

꺼진 컴퓨터[서버]를 구동하는건 힘들더라도...
공격자: [S/W가 프로그램에 의해] -> [OS를 제어] -> [하드웨어를 제어] ===========>
피공격자: [공격자의 H/W가 OS를 제어] -> [H/W제어 또는 S/W]제어....

이런 형태의 구조로...닫혀진 포트를 여는등의 행동이 될겁니다.
하지만 위의 방법이 의미가 없습니다....왜냐....공격자의 H/W가 피공격자의 OS를
제어하는 부분에서 문제가 있죠......다른 포트를 통해 접속하더라도...공격자에겐
OS를 제어할 권한이 없다는 겁니다. 그럼 그뒤의 일들은 공중분해가 되죠.


0x05 OTL....

아아 힘듭니다...아무리 생각해봐도...마땅한 아이디어가 떠오르지 않아요.
H/W와 S/W, OS의 구동원리와 TCP/IP등의 네트워크에 대한 공부를 마스터 하지 않으면
도저히 알수 없겠죠.....

하지만....양자컴퓨터[가능하긴 할까만은]나 뭐 그런게 나오면 되지 않을까요?



0x90

상상의 나래를 펼쳤습니다만....매트릭스와 같은 일들은 당장 불가능하군요....
=ㅁ=;; 뭐 그냥 주저리주저리 요즘 생각하는 '공상'에 대해 이야기를 해보았지만..
미흡한 지식에 끼워맞추고 끼워맞춘 엉터리 지식인지라 하나도 맞을게 없습니다.

그냥...잡담이라....자유게시판에 올렸습니다....푸훅=!! 푹푹!! 푸욱!!!


* 관리자님에 의해서 게시물 이동되었습니다 (2006-02-03 10:52)

  Hit : 7942     Date : 2006/01/11 09:50
[불법/스팸글로 신고하기]



    
매맞는아이 C만 하더라도 하드웨어 제어가 충분히 가능합니다.. 물리적으로 뿐만이 아니라 소프트웨어적으로도 전원을 킬 수 있습니다.. 단 컴퓨터 뿐만이 아닌 다른 장비가 추가가 되어야겠지요.. 2006/01/11  
매맞는아이 유비쿼터스가 의미하는 것이 바로 그것입니다.. 모든 전자기기들이 네트워크에 물려 있어서 무선으로 그 모든 기기들을 완벽하리만큼 제어한다는 것이지요.. 2006/01/11  
아이프리드 호오- 유비쿼터스라...컴퓨터에 이런 방법들이 적용될까요? 당연히 될려나 ==;; 뭐 그건 그렇다 쳐도...프로그래밍 소스의 문제가 있지 않습니까? 유비쿼터스에 사용될 장비들의 내 2006/01/11  
아이프리드 부 프로그램들은 어떻게 구해야 될려나 ==;;; 2006/01/11  
매맞는아이 물론 제어되는 기기들은 on 상태에서 sleep모드로 대기하고 있던지 아니면 off상태에서 무선으로 전원을 공급받아 on상태로 바뀌던지 많은 방법이 있을겁니다.. 편한대로 가겠죠. 2006/01/11  
매맞는아이 MS윈도의 소스가 공개되지도 않았는데 어떻게 사람들이취약점을 찾아낼까요? 동일한 방법으로 접근하시면 될겁니다.. 2006/01/11  
아이프리드 아아 그렇군요. 확실히 사람이 만든이상 취약점이 없을수가 없으니... 2006/01/11  
w0rm9 유비쿼터스.ㅋㅋㅋ 그 주제로 리포트 베껴서 냈다가 OTLㅋㅋ 2006/01/11  
ckdmsghcoh 좋은자료 정말감사합니당~ 2006/02/03  
blackcoder 왜 올린 날짜가 2006/01/11 이라고 되어있징,..? 2006/02/04  
jonginsir 으힉- 0- 말이 그게 그거 같다는.. 2006/02/07  
hahadolung 궁금해서 여쭤보는건데.. CMOS상에 알람기능을 응용할 수는 없을까요.? 2006/02/28
konezero 그렇게 되려면 일단 파워선이 연결되어있어야겠네요... 전체적인 조건이겠지요 ;;아날로그의 힘이란....초능력인가?? ㅇㅇ? 2006/04/11  
konezero 갑자기 터미네이터3편에 나오는 여자가 생각 나는 이유가 뭘까요 ㅎㅅㅎ 2006/04/11  
넖也 <a href="http://www.how-we-gonna-know.com/">넖也</a><a href="http://www.deai-door.net/">넖也</a><a href="http://www.relax-na-deai.com/">궩긿궚궧</a><a href="http://www.kissmark-iine.net/">雅뷴┿</a><a href="http://www.koimonogatari.net/">藥ⓧ뭄</a><a href="http://www.ai-to-koi.com/">궋꺂깉</a><a href="http://www.suteki-gal.com/">궩긿궚궧</a><a href="http://www.hhh-clinic.com/">궓긿긽</a><a href="http://www.hot-again.com/">訝띶</a><a href="http://www.deai-citys.com/sex/">궩긿궚궧</a><a href="http://www.deai-maxmax.com/">눣鴉싥걚</a><a href="http://www.temperaturee.net/">窯ⓧ퓱</a><a href="http://www.inakabak.com/">눣鴉싥걚</a><a href="http://www.secondgirls.net/">궩긿궚궧</a><a href="http://www.ainavi-sweet.com/">塋θ쿉</a><a href="http://www.koi-spot-iiyo.com/">榮졽볶</a><a href="http://www.deai-citys.com/">궋꺂깉</a><a href="http://www.happy-deai-day.com/">궓꺆</a><a href="http://www.ai-sexy.net/">걡겂겚걚</a><a href="http://www.69117.com/">雅뷴┿</a> 2008/09/30
wedmonster 음..실제적으로 약간의 제약이 있긴 있지만 외부에서 lan카드를 이용해 컴퓨터 전원을 키는 것이 가능합니다. wake on lan(wol) 기능인데, 원리가 wol을 지원하는 lan카드가 외부에서 오는 매직 패킷(이것은 전원을 켜질려고 하는 pc의 맥아아디로 구성되는, 자세한것은 검색을) 을 인식해서 컴퓨터의 전원을 키는 건데요,, 실제 회사같은데서 원격으로 쓸려고 많이 쓴다고 하네요,ㅋ wol을 설정하면 컴퓨터는 꺼져도 랜카드에 대기 전류가 흘러서 가능하다고 하는데요,,
근데 순수하게 현상태에서 아무 장비나 설정 없이 컴퓨터를 외부에서 킬려고 하면 어렵겠네요,
2010/01/26  
1579     [re] 추가 설명[9]     暴走天使
09/11 8688
1578   부산에서 같이 공부 할 분 있어요?ㅋㅋ[4]     연산동고래
01/16 6560
1577   [자작] C언어 War Game Release 04.01 < Solution > 10진수      우느님
04/12 5730
1576   [자작] C언어 War Game Release 04.01 < 상금 : 50000원 >[11]     우느님
04/01 5621
1575   [자작] C언어 War Game Release 04.01 < Solution > 16진수     우느님
04/11 5377
1574   [자작]c언어 <포인터> 캐쉽게 설명해드려요~ 3 (수정)[8]     우느님
01/07 5235
1573   [자작]c언어 <포인터> 캐쉽게 설명해드려요~ 2[5]     우느님
01/07 5222
1572   [자작]적절한 네트워크 정리[1]     우느님
01/03 5573
1571   [자작]c언어 <포인터> 캐쉽게 설명해드려요~[6]     우느님
01/07 5301
1570   [자작] 왜 Little Endian 인가 ?[6]     우느님
03/09 5481
  하드웨어와 소프트웨어...그리고 불가능한일?[16]     아이프리드
01/11 7941
1568   [Project] 전기,전자 상식 및 샤프심으로 전구만들기. - 3[16]     아이프리드
02/03 11086
1567   [Project] 전기,전자 상식 및 샤프심으로 전구만들기. - 2     아이프리드
02/03 8087
1566   [Project] 전기,전자 상식 및 샤프심으로 전구만들기. - 1[11]     아이프리드
02/03 9881
1565   #01 Protel CAD - 서문     아이프리드
11/21 8887
1564   [자작] C언어 변수 이해하기[9]     싫어 내가할꺼야
02/13 7203
1563   C언어로 만든 그래픽 프로그램[11]     승리의박성환
04/22 16558
1562   리눅스 설치 + Windows설치(생초보에게 좋은 강좌)!![3]     승리의박성환
04/15 12720
1561   밑에 제가 올린 API 소스에 대해서.........     승리의박성환
10/02 6987
1560   NET SEND 명령강좌[8]     서덕진
09/23 5379
1 [2][3][4][5][6][7][8][9][10]..[79]

Copyright 1999-2021 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com