2013年11月8日 星期五

ROP (Return-oriented programming)攻擊

最近網路上對一般用戶的入侵事件應有不少是ROP攻擊造成
中文新聞對此報導甚少:
http://udn.com/NEWS/BREAKINGNEWS/BREAKINGNEWS6/8277945.shtml

去K了些原文:
1. https://support.microsoft.com/kb/2896666
2. http://technet.microsoft.com/en-us/security/advisory/2896666
3. http://blogs.technet.com/b/srd/archive/2013/11/05/cve-2013-3906-a-graphics-vulnerability-exploited-through-word-documents.aspx
我認為聯合的報導有誤:
3.中有
This also means the exploit will fail on machines hardened to block ActiveX controls embedded in Office documents (e.g. Protected View mode used by Office 2010) or on computers equipped with a different version of the module used to build the static ROP gadgets.
注意上面'on ....or on....' :  或的對位關係, 可翻為
此意表示此exploit 使如下運作出問題:
    幾乎不阻擋(hardened to block)嵌入Office文件之ActiveX controls   的機器
或  裝配 過往當中曾建靜態ROP gadgets之module版本   的電腦

並沒說只有Office會受影響 而ms官網亦沒說只有Office受影響
且影響範圍就是 2.中所說的那一堆
而XP 只有 SP3 與 64位元SP2 兩版本的XP不會受影響
Vista 不在 Non-Affected 名單中, 故Vista的使用者要很小心, 注意update訊息

目前若無patch時之處置建議:
http://technet.microsoft.com/en-us/security/advisory/2896666 中Suggested Actions
那諸如關掉TIFF長長的一串Suggestion...
說真的, 如果我有用Vista, 我寧可先不用它來上網, 等更新

udn中文新聞說攻擊有限, 應是誤解了原文, 原文說的攻擊有限是有前提的:
...have fewer user rights on the system...
若點選的使用者有管理者權力(administrative user rights), 則....
2.的MS原文只是修飾的比較好聽
講白了, 整台電腦都有可能被駭客控制

故只要駭客能發揮創意運用其 ROP 弱點 (ref. http://en.wikipedia.org/wiki/Return-oriented_programming)
即能達到入侵電腦之目的
例如駭客將遠端控制程式碼置入某一特製之TIFF格式中, 將其放入某殭屍網站之網頁中,
屬於2.中所述影響範圍內的某電腦的系統管理者, 無意間瀏覧了此內含特製TIFF的網頁,
瀏覧器會因為TIFF圖形格式而呼叫Microsoft Graphics component,
駭客即可控制此台電腦
I know...例子沒創意...舊酒裝新瓶...攻擊例子既能典型, 表駭客對此弱點駕輕就熟, 影響可深
可廣

ROP攻擊由Hovav Shacham於2007發表, 故約於2008年後之各作業系統對此類防禦能力較強
而於win中開發程式由於較考慮相容因素, 有時會用較舊的code,
且多未開源讓使用者難以去檢查是否有此漏洞,
故win中的軟體套件與程式對其ROP攻擊的防禦力難以用時間來區別

2013年10月28日 星期一

本月(2013/10)網路攻擊很嚴重

近來各大站各大品牌裝置幾乎都傳出被駭事件
應有什麼尚未曝光的重大漏洞,而駭客正在用

防火牆擋掉的一堆port 23比往常多出甚多,由log中一堆try port 23 的
亦可推知現在殭屍問題非常嚴重
若不用port 23連外者,可考慮讓防火牆對外時封掉它
port 23連外本身亦不安全,不用也罷
對外連線能加密者盡量加密(例如近日應盡量用https等)

我想最近的攻擊劇增,php的問題可能是主因之一,
PHP於網路應用廣泛,於2013/10/17其推出新版本不久後官方網隨即被駭,
必然延緩了其後應用php的相闗軟體之更新,
給駭客有更多的時間對其原來的漏洞進行相關攻擊
http://www.php.net/ChangeLog-5.php#5.5.5

擇些本月(2013/10)覺得較應注意的地方:

若路由器是D-Link的,則注意下列型號在出廠時就有後門:
DIR-100
DI-524
DI-524UP
DI-604S
DI-604UP
DI-604+
TM-G5240
DIR-615
(ref. http://www.dshield.org/diary/Old+D-Link+routers+with+coded+backdoor/16802)
與其用同firmware者亦要注意(e.g. 日商Planex的兩款路由器BRL-04UR、BRL-04CW)

最近的一些重大更新:
win - http://www.dshield.org/diary/Microsoft+October+2013+Patch+Tuesday/16760
adobe, apple - http://www.dshield.org/diary/Other+Patch+Tuesday+Updates+%28Adobe%2C+Apple%29/16763

dshield日誌中關於最近較易上當的win釣魚網頁:
http://www.dshield.org/forums/diary/Microsoft+phish/16838

小紅傘Avira於10/8前後曾被DNS hijack 若那時有用小紅傘更新則可能有點問題
(從資訊安全角度來看有此可能,但沒證據顯示必然會如此):
http://www.dshield.org/forums/diary/Anti-Virus+Company+Avira+Homepage+Defaced/16754
可考慮卸載小紅傘後再重裝它
(若在10/8前後沒用小紅傘,應就沒問題)

本月15~16看電子報而自動下載不明檔案,
其檔案結構為Android的,應為Android的木馬

近日的google chrome也自動更新過

2013年10月15日 星期二

十五日至十六日的零時攻擊

昨晚至今晨,有駭客對Oracle發動零時攻擊,
有些企業網站因此被入侵,其媒體檔被駭客置換
於此段期間甚至如平時般看電子報都有可能中招
(其媒體檔被駭客置換後,看電子報即自動下載)
直至幾個鐘頭前Oracle出patch方止
(Orcale patch - http://www.oracle.com/technetwork/topics/security/cpuoct2013-1899837.html)

2013年8月8日 星期四

昨轉到大愛2台殷正洋與李文媛的重播節目,看到蔣勳談食中五味
幸福是甜,生離死別是苦,辛勞(血汗)是鹹...
由於蔣勳平時不吃辣,故只談到辣的刺激性(e.g.辣妹)與激烈性(e.g.王熙鳳)
其實就是因為其激烈性,才會使人嘗起食物甜苦酸醎等更覺美味
如同紅樓夢因為有了王熙鳳,才使得其他金釵更為可人

就科學方面而言(或應說哲學,因我不是學醫的,無從驗證)
美味或許沒有公式,但味覺的某些不協調性,或能成為不美味的充分條件
當我們吃到的不協調性達到某種程度時,就會覺得不好吃了
這種不協調性應可量化,定義成味覺的雜訊,而噪訊比(N/S)為其程度的度量
當N/S 大於某數值時,吃起來就不美味了
這數值或許應人而異,例如有人N/S > 10% 才覺不美味,有人 N/S > 18%才覺如此,
辣的刺激性使味覺訊號S大幅提高,導致噪訊比大為降低,使得食物不易讓人覺得難吃

人生或許也是如此,我們常不經意地挑剔身旁的人事物,讓自己的人生不美味
只有在大風大浪的當下,才會覺得那些挑剔的無謂

2013年7月3日 星期三

心經

舍利子:釋加牟尼之大弟子名謂(十大弟子之一 i.e.舍利弗), 先於釋加牟尼成佛
<自> 智慧為般若的投影

觀自在菩薩,行深般若波羅蜜多時,照見五蘊皆空,度一切苦厄。舍利子,色不異空,空不異色;色即是空,空即是>色。受、想、行、識,亦復如是。 舍利子,是諸法空相,不生不滅,不垢不淨,不增不減,是故空中無色,無受、想、行、識;無眼、耳、鼻、舌、身、意;無色、聲、香、味、觸、法;無眼界,乃至無意識界;無無明,亦無無明盡>;乃至無老死,亦無老死盡。無苦、集、滅、道,無智亦無得,以無所得故。菩提薩埵, 依般若波羅蜜多故,心無罣礙,無罣礙故,無有恐怖,遠離顛倒夢想,究竟涅槃。三世諸佛,依般若波羅蜜多故,得阿耨多羅三藐三菩提。故知>般若波羅蜜多,是大神咒,是大明咒,是無上咒,是無等等咒,能除一切苦,真實不虛。故說般若波羅蜜多咒,即說>咒曰:
揭諦揭諦,波羅揭諦,波羅僧揭諦,菩提薩婆訶。
                                                  ——玄奘法師譯,於《般若波羅蜜多心經》       <ref.1>

<自改> 己認為有可能標點浮號須改為:
"觀自在菩薩,行深般若波羅蜜多時,照見五蘊皆空,度一切苦厄。" 舍利子。
"色不異空,空不異色;色即是空,空即是色。受、想、行、識,亦復如是。" 舍利子。
理由:有人研究認為西方語言與印度語言有不少相近處。故敘事方法亦有可能相同。

由ref.2 關於釋迦牟尼的生卒年歷來眾說紛紜[註 1],北传佛教現在根据汉译《善见律毘婆沙》的“出律记”推断为公>元前565年-前486年,南传佛教则作公元前624年-前544年或公元前623年-前543年。中国藏传佛教格鲁派,又传有公元前1041年-前961年之说

由ref.3 觀世音菩薩 起源不可考

注意!<自>,<自改>等 是自己的心得,不見得對,以後想法會變也說不定

ref1. http://zh.wikipedia.org/wiki/%E6%91%A9%E8%A8%B6%E8%88%AC%E8%8B%A5%E6%B3%A2%E7%BE%85%E8%9C%9C%E5%A4%9A%E5%BF%83%E7%B6%93
ref.2 http://zh.wikipedia.org/wiki/釋加牟尼
ref.3 http://zh.wikipedia.org/wiki/觀自在菩薩   (i.e. 觀世音菩薩)

還滿喜歡心經的,它讓我不時想到線性代數與網路、電腦等工程領域,
雖會以金庸小說俠客行裡在俠客島練功的江湖人物來警惕自己,
然仍不免陷入其中...呵呵呵...

2013年6月25日 星期二

ARM ld cannot find -lc 當ld找不到程式庫時...解決方式

以OSELAS為例 (其他套件方法雷同,其他程式庫找不到方法亦相似):

出現錯誤訊息: arm-v4t-linux-gnueabi-ld: cannot find -lc

以 arm-v4t-linux-gnueabi-gcc --print-search-dir 看search path相關資訊,從中找libc (因上-lc找不到)
執行 find <search path名> |grep -i libc.a  (或libc.so亦可,因兩檔通常於同一目錄)

從所找出的path中,選出合適的增 -L<path名> 於arm-v4t-linux-gnueabi-ld 後
或加至Makefile中

2013年3月12日 星期二

about ARM- 去年十二月出的新版OSELAS


mini2440搭配2012/12出的新版OSELAS:
ptxdist-2012.12.0
OSELAS.BSP-Pengutronix-Mini2440-2012.12.0
OSELAS.Toolchain-2012.12.0

HOST與TARGET都裝好,環境是上面平台提供的Qt,
我HOST環境變數只多設:
export PATH=/home/local/OSELAS.BSP-Pengutronix-Mini2440-2012.12.0/platform-mini2440/sysroot-cross/bin:/opt/OSELAS.Toolchain-2012.12.0/arm-v4t-linux-gnueabi/gcc-4.7.2-glibc-2.16.0-binutils-2.22-kernel-3.6-sanitized/bin:$PATH
export QMAKESPEC=/home/local/OSELAS.BSP-Pengutronix-Mini2440-2012.12.0/platform-mini2440/packages/qt-everywhere-opensource-src-4.8.4/usr/mkspecs/default

對用C++寫的Qt程式作cross編譯連結過程: (i.e.於HOST編譯連結 產生之執行檔將於TARGET執行)
1. qmake -project
2. 改 <.pro檔>   # 加 MOC_DIR = moc  與 OBJECTS_DIR = obj  兩行; 並填執行檔名於 TARGET =
3. qmake -o Makefile <.pro檔>
4. make

於第4.的make過程會出現讀如以下問題:
......
arm-v4t-linux-gnueabi-g++ -Wl,-O1 -o ButtonWindow obj/ButtonWindow.o obj/moc_ButtonWindow.o    -L/home/local/OSELAS.BSP-Pengutronix-Mini2440-2012.12.0/platform-mini2440/sysroot-target/lib -L/home/local/OSELAS.BSP-Pengutronix-Mini2440-2012.12.0/platform-mini2440/sysroot-target/usr/lib -L/mnt/arm/local/OSELAS.BSP-Pengutronix-Mini2440-2012.12.0/platform-mini2440/sysroot-target/usr/lib -lQtGui -L/mnt/arm/local/OSELAS.BSP-Pengutronix-Mini2440-2012.12.0/platform-mini2440/sysroot-target/usr/lib -L/home/local/OSELAS.BSP-Pengutronix-Mini2440-2012.12.0/platform-mini2440/sysroot-target/lib -L/home/local/OSELAS.BSP-Pengutronix-Mini2440-2012.12.0/platform-mini2440/sysroot-target/usr/lib -lQtNetwork -lQtCore -lpthread
/mnt/opt4arm/opt.2/OSELAS.Toolchain-2012.12.0/arm-v4t-linux-gnueabi/gcc-4.7.2-glibc-2.16.0-binutils-2.22-kernel-3.6-sanitized/bin/../lib/gcc/arm-v4t-linux-gnueabi/4.7.2/../../../../arm-v4t-linux-gnueabi/bin/ld: warning: libts-0.0.so.0, needed by /home/local/OSELAS.BSP-Pengutronix-Mini2440-2012.12.0/platform-mini2440/sysroot-target/usr/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
/mnt/opt4arm/opt.2/OSELAS.Toolchain-2012.12.0/arm-v4t-linux-gnueabi/gcc-4.7.2-glibc-2.16.0-binutils-2.22-kernel-3.6-sanitized/bin/../lib/gcc/arm-v4t-linux-gnueabi/4.7.2/../../../../arm-v4t-linux-gnueabi/bin/ld: warning: libpng12.so.0, needed by /home/local/OSELAS.BSP-Pengutronix-Mini2440-2012.12.0/platform-mini2440/sysroot-target/usr/lib/libQtGui.so, not found (try using -rpath or -rpath-link)
...........

即make過程中,用arm-v4t-linux-gnueabi-g++能成功編譯出 .o 目的檔,這些目的檔置於上面所設的 obj/ 目錄下
然而用ld連結時發生問題,這可能是由於ld預設不含入C++程式庫使然

我的替代方案:連結時仍持續用g++ ,代替上面的ld, 上面ld找不到的程式庫於g++以-l含入
例如 目錄obj/中 有因上面make過程而編譯好的 ButtonWindow.o 與 moc_ButtonWindow 兩檔,欲將其連結成setskin執行檔,則以下行g++代替ld:
arm-v4t-linux-gnueabi-g++ -Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -Wl,-O1 -o setskin obj/ButtonWindow.o obj/moc_ButtonWindow.o -L/home/local/OSELAS.BSP-Pengutronix-Mini2440-2012.12.0/platform-mini2440/root/usr/lib -lQtGui -lQtNetwork -lts -lpng -lz -lfreetype -lQtCore -lpthread

上行產生出的setskin 即能於TARGET中順利執行