• 所有无线设备都不安全了?Wi-Fi加密被破解影响有限

    多年来保护我们无线连接安全的WPA2加密协议日前被成功破解。比利时鲁汶大学的Mathy Vanhoef发现了WPA2加密协议的漏洞,并披露了实施攻击的详细细节。Mathy Vanhoef计划将在11月1日举办的计算机和通信安全(CCS)2017会议和Black Hat欧洲会议上发表这一研究成果。

    WPA2被破解 全世界的WiFi设备都不安全了?

    在这一消息被披露之后,有些媒体认为,由于目前几乎所有的WiFi加密都使用了WPA/WPA2加密协议,这一协议被黑客破解之后,全世界的WiFi上网设备都不安全了。

    Mathy Vanhoef称,这一漏洞名为“KRACK”,是“Key Reinstallation Attack”(密钥重安装攻击)的缩写。Mathy Vanhoef表示,通过研发,其发现WPA2在四路握手(four-way handshake)时,允许拥有预共享密码的新设备加入网络。

    有中国黑客教父之称的goodwell对搜狐科技表示,这个KRACK ATTACK攻击应该是目前最取巧的针对WPA/WPA2的中间人攻击方法。这一攻击并不针对WPA加密本身,而是通过多次重播四次握手的信息3,来强制复位client本地保存的WPA2密钥,即把原来正确真实的WPA密码替换掉,不破解直接替换成全0密钥,这样就可以将受害者连到伪造的AP上,无需任何提示。再配合SSLStrip之类的工具做中间人,就圆满地实现了基于WIFI的无缝中间人攻击。

    goodwell称,攻击者并不能通过这种攻击手段达到蹭网的目的。主要是影响客户端而非路由器。最冤的是Linux系统,其只有wpa_supplicant,严格遵守IEEE“不能重复使用密钥”的提醒,密钥用后即刻清零。也因为如此,其连接密钥就真的变成全“0”,造成了比其他设备严重得多的问题。

    Mathy Vanhoef也确认,这种攻击对Linux和Android 6.0或更高版本是非常有破坏性的。这是因为Android和Linux可以被欺骗(重新)安装一个全零加密密钥。

    goodwell对搜狐科技表示,这种攻击并不能攻击WiFi路由器,而是在用户连接到路由器并正常使用后,攻击者切入进来,替换用户原来的连接,让其连到攻击者的路由器上去,从而达到数据挟持的目的。

    KRACK 攻击 Wi-Fi WPA2 加密演示视频

    业界厂商声明将尽快发布补丁

    这一漏洞披露之后,微软称于10月10日发布安全补丁,使用Windows Update的客户可以自动或手动升级补丁,达到自动防卫的目的。

    Google称,其已经了解到这一问题的存在,未来几周内会给任何受影响的设备打上补丁。

    而苹果也表示,已经证实iOS、MacOS、WatchOS、TVOS会受影响,在未来几周内会通过软件升级的形式提供修复补丁。

    Linksys/贝尔金称,已经了解到了KRACK漏洞的存在。安全团队正在确认这一漏洞的影响,会根据情况提供支持及升级。网件也称,已经为多款产品发布了修复补丁,公司也正在为其它产品开发相关补丁。用户可以在支持页面查询升级情况。

    KRACK攻击原理致其影响程度有限

    尽管这一漏洞几乎影响了所有的WiFi上网设备。但专注无线安全的RadioWar创始人SandMAN对搜狐科技称,利用KRACK漏洞,对于近端攻击或者劫持信息的人来说,这个手法很好用。但这一攻击手法并无法批量对无线客户端进行攻击,只能一个一个地攻击客户端,使用户在不知情的情况下连接到伪造的AP。因此,其攻击效率很低下。对动辄数以亿计的无线设备来讲,个人中招的机率非常低。

    SandMAN称,KRACK攻击的意义在于大型WLAN或者是特定的核心目标。另外,现有的WiFi防御对这种攻击也是可以做到预先防御的,因为攻击的套路本身是不会改变的。

    提高WiFi设备安全要做这样的功课

    360方面对搜狐科技表示,要避免受到KRACK攻击,用户需要做如下功课:

    1.及时更新无线路由器、手机,智能硬件等所有使用WPA2无线认证客户端的软件版本(在有补丁的前提下)。

    2.有条件的企业及个人请合理部署WIPS,及时监测合法WiFi区域内的恶意钓鱼WiFi,并加以阻断干扰,使其恶意WiFi无法正常工作。(WIPS的重要性)

    3.无线通信连接使用VPN加密隧道及强制SSL规避流量劫持与中间人攻击造成的信息泄漏。

    4.国标WAPI无线认证暂不受该漏洞影响。

    搜狐科技 文/丁丁

     

    我的总结:攻击者在抓到目标AP的BSSID和被攻击目标的MAC地址后,通过修改自身网卡的MAC地址为目标AP的MAC地址,以作为伪装的AP(伪装AP的密码与目标AP的密码无关);然后让被攻击目标神不知鬼不觉地转而连接伪装AP,连接成功后,所有的流量都会经过攻击者(MITM)。对于HTTP等不加密的协议,可以轻松抓下来;对于HTTPS,作者使用了sslstrip软件,把HTTPS降为HTTP,然后就可以抓取下来明文数据。

  • 第三代树莓派正式发布:升级64位、性能是初代十倍、售$35不变

    第三代树莓派现已正式发布,感兴趣的网友只需花上同样的35美元(32欧元),即可购得升级了全新64位架构、性能(较初代)提升了十倍的最新单片机平台。数年前发布的Raspberry Pi Model B曾改变了这个世界,尽管它只板载了性能很一般的微型处理器和256MB RAM,但仍然吸引了无数硬件硬件爱好者和硬件开发社区。

    8f721bc33869b9b

    虽然性能一般,但树莓派的应用潜力却非常广泛,从简单的媒体播放器、到复杂的机器人和各种DIY项目不等。此外,第二代树莓派迎来性能和连接性上的增强,但仍然维持了原价。

    不过现在,我们已经正式迎来了第三代树莓派(不考虑Zero或其它变种的话),其势必再一次改变世界。

    Raspberry Pi 3最大的变化,体现在处理器上——升级到了64位的1.2GHz四核ARM Cortex-A53,性能是初代树莓派的十倍以上。

    树莓派创始人Eben Upton表示:“Broadcom为Raspberry Pi 3带来了全新的BCM2837 SoC,它保留了与MCB2835和BCM2836相同的基础架构,所以大量依赖于特定硬件细节的项目仍可继续工作”。

    除了64位四核1.2GHz处理器,Raspberry Pi 3还搭载了1GB LPDDR2内存,完全兼容现已发布的应用程序。对于顾虑项目平台迁移的开发者和用户来说,这点显然是相当重要的。

    网络方面,Raspberry Pi 3还直接板载了激动人心的802.11n Wi-Fi蓝牙4.1支持。供电方面,第三代树莓派需要搭配2.5A的USB充电器,不过搭配常规500mA USB输出应该也没问题(如果不连接其它太过耗电的模块的话)。

    第3代树莓派现已开放购买,价格为35美元,感兴趣的网友可以前往element14RS Components下单,其它零售商可能需要再多等一段时间。

    [编译自:Soft Pedia]

  • 瑞芯微低功耗WiFi RKi6000智能产品MWC亮相

    MWC(Mobile World Congress)世界移动通信大会正式开幕,本届展会IoT物联网智能硬件大热。瑞芯微Rockchip黑科技——全球超低功耗WiFi RKi6000芯片的IoT终端产品也悉数亮相,现场展示了在家居照明和HiFi音箱两大应用方向,成为MWC焦点之一。低功耗WiFi已成为IoT物联网核心因素,瑞芯微Rockchip去年宣布推出全球最低功耗WiFi RKi6000,该技术使WiFi功耗与BT4.0 LE(Low Energy)蓝牙低功耗相当。可覆盖智能家居、主流家电、家庭控制中心,甚至医疗、交通、军事等领域。该革命性低功耗WiFi方案引发了业界极大关注。

    f4d1efc69ea1cf5.jpg_600x600[1]

    阅读更多…

  • WiFi新标准802.11ah确认名叫“HaLow” 功耗低距离远

    WiFi联盟终于通过了802.11ah WiFi标准,这个新标准有个名字,叫“HaLow”。认证后的设备将运行于900MHz频段,无线网络连接距离是现有2.4GHz标准的两倍,而且采用更低的功耗,穿墙能力也更好。

    这个新标准很大程度上对IoT物联网以及连接家用设备应该是相当关键的,即便这个领域在全球范围内还没有彻底普及开。关键在于,如装载于门内的传感器、灯泡、摄像头需要足够的能量在可能较远的距离传送数据至控制中心(或路由器),现有的WiFi标准就会比较局限,尤其是在电池续航和远距离传输的问题上。

    WiFi联盟表示,HaLow标准将“广泛采用现有WiFi协议”,如IP连接,而且类似路由器一类新设备也将同时包含2.4GHz和5GHz频段支持。想必很快市面上就会有大量900MHz的设备出现。WiFi联盟说,新标准“将促进智能家居、汽车、零售业、农业、智能城市环境等各种注重能效的应用场景”。

  • 在树莓派上使用基于MT7601的无线网卡(如360/百度/腾讯Wifi)

    20150626更新基于 linux kernel 4.0.6 的步骤,建议先看最后更新的部分

    20151205更新,发现在8月13日时,来自4.2的mt7601u驱动被移植到了4.1.5,所以,升级内核到4.1.5或以上,只需要下载  mt7601u.bin 放到 /lib/firmware/ 下就可以了,就是执行下面这条命令。具体来源见 https://github.com/raspberrypi/linux/issues/1090

    sudo wget https://github.com/porjo/mt7601/raw/master/src/mcu/bin/MT7601.bin -O /lib/firmware/mt7601u.bin

    如果内核是4.1.5以上,下文都不需要看了,驱动已经自带,不需要自己编译,只需要补上 /lib/firmware/mt7601u.bin 就可以了。

    否则,看下面的几行来更新系统,再补上 mt7601u.bin ,也就ok了。

    20170107更新,最近把卡格了重新装raspbian系统,是2016-11-25的版本,内核是4.4,发现mt7601u.bin也已经自带,直接插上就用不需要折腾。这个版本的蛋疼之处在于SSH默认关闭,需要在启动分区加上一个名为ssh的文件,才可以开启SSH。

     


     

    首先,更新你的树莓派(避免编译出来版本不对导致不能insert):

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade
    sudo rpi-update

    更新gcc和g++:

    #可能有点问题,先不要更新  20150506
    #sudo apt-get install gcc-4.8 g++-4.8
    
    #sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20
    #sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
    #sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20
    #sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

    到MTK的官网下载驱动并传到树莓派上:http://www.mediatek.com/zh-CN/downloads/mt7601u-usb/

    解压:

    tar xjvf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2
    cd DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/

    打开 common/rtusb_dev_id.c,在 {USB_DEVICE(0x148f,0×7601)}, /* MT 6370 */  下面加入以下内容:

    {USB_DEVICE(0x148f,0x760b)}, /* 360 Wifi */
    {USB_DEVICE(0x2955,0x1001)}, /* baidu Wifi */
    {USB_DEVICE(0x2a5f,0x1000)}, /* Tencent WiFi */
    {USB_DEVICE(0x2955,0x0001)}, /* XiaoDu Wifi */
    {USB_DEVICE(0x2717,0x4106)}, /* Xiaomi Wifi */

    打开 include/os/rt_linux.h,找到

    int fsuid;
    int fsgid;

    并把它改为

    kuid_t fsuid;
    kgid_t fsgid;

    查看当前内核的版本:

    uname -r

    显示我的版本是3.18.8+ ,所以下载对应的3.18的linux源码,然后解压:

    wget https://github.com/raspberrypi/linux/archive/rpi-3.18.y.tar.gz
    tar xvfz rpi-3.18.y.tar.gz

    取得root权限,将源码移至/usr/src目录:

    sudo su
    mv linux-rpi-3.18.y /usr/src

    建立内核模块库目录的链接:

    ln -s /usr/src/linux-rpi-3.18.y /lib/modules/3.18.8+/build
    cd /lib/modules/3.18.8+/build

    make mrproper 可以看作更加强劲的 make clean 命令,用来清除环境变量,即清除配置文件,一般编译内核前都要运行:

    make mrproper

    将当前正在使用的系统的内核配置生成内核配置信息:

    gzip -dc /proc/config.gz > .config

    生成编译内核所需要的东西:

    make modules_prepare

    获取内核编译时生成的内核模块导出符号文件。因为不是从头编译内核,所以没有,但是编译内核模块需要这个:

    wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers

    再到网卡驱动目录中编译驱动(进入到DPO_MT7601U_LinuxSTA_3.0.0.4_20130913):

    make
    make install
    modprobe mt7601Usta

    如无报错,驱动就安装完成了。

     

    之后是修改/etc/network/interfaces文件,我改成这样:

    auto lo
    
    iface lo inet loopback
    iface eth0 inet dhcp
    
    allow-hotplug wlan0
    iface wlan0 inet manual
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
    iface default inet dhcp
    
    allow-hotplug ra0
    iface ra0 inet manual
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

    其中添加的ra0是对应MT7601的,wlan0没有改,插其他无线网卡应该也能正常用。

    然后修改/etc/wpa_supplicant/wpa_supplicant.conf,填入要连接的无线网络的配置。

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    
    network={
            ssid="yourssid"
            psk="yourpassword"
            proto=RSN
            key_mgmt=WPA-PSK
            pairwise=CCMP TKIP
            group=CCMP TKIP
            auth_alg=OPEN
            priority=3
    }

    最后的priority是该配置的优先级,数字越大越先连接。添加几个就能在不同的地方自动连接了。

    重启机器,用ifconfig、iwconfig等测试无线网卡能否正常工作。

    20150110215621

    rdp远程登录进去,打开Wifi设置后的截图

     

    =========================

    20150306更新:在内核更新到3.18后,驱动需要重新编译,出现了种种问题,在参考了[2]和[3]后,升级了gcc版本和修改了rt_linux.h。

    20150306于RaspberryPi Model B+测试成功,内核为3.18.8。

    20150506更新:在升级gcc后,似乎在make modules_prepare时会遇到compiler too buggy的问题。我又找了一下,还是在树莓派的官方论坛,https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=49864&start=179这里:

    On the first time running rpi-source, you have to have the default gcc 4.6.3. You have to also specify –skip-gcc so that rpi-source doesn’t care about the different gcc in use and what’s been used to build the default kernel. If you run rpi-source with 4.8.2 as the default gcc, you’ll end up getting message like this during the kernel preparation (make prepare?) phase:

    …error Your compiler is too buggy; it is known to miscompile kernels…

    That’s why you have to first run rpi-source with the default gcc 4.6.3 with –skip-gcc parameter. After rpi-source gets all done, you have to change to gcc 4.8.2. The kernel doesn’t let you compile the kernel itself, but you can compile compatible modules for it. It’s bit tricky . It would be great if the default Raspbian gcc would compile compatible modules. Maybe gcc 4.8.3 would not complain about the kernel miscompile problem?

    似乎是先用自带的4.6.3 prepare好了之后,再换用4.8的意思,各位研究一下吧。

    20150623更新:在https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=49864&start=353找到了一个适用于3.18.11+ #776的驱动,传到了百度盘,使用方法:

    tar xzf mt7601-3.18.11-776.tar.gz
    /install.sh

    另外,在github上有了第三方的驱动,适用于kernel 3.19以上的版本,并且被合并到kernel 4.2,所以未来升级到4.2的时候就再也不用烦恼了。如果要自己编译,就到上面的github链接看看吧。


    20150626更新

    今天把我的RPi B+更新到了4.0.6内核,(Linux raspberrypi 4.0.6+ #798 PREEMPT Tue Jun 23 17:48:03 BST 2015 armv6l),然后成功使用了上文提到的github的新驱动。

    步骤与之前的基本相同。以下步骤未详细说明的都在本文中有提及。

    1. 更新树莓派
    2. 确保使用的是gcc 4.6
    3. 查看当前内核的版本,下载对应的源码,解压,移到/usr/src
    4. 建立内核模块库目录的链接,并切换目录到/lib/modules/`uname -r`/build
    5. make mrproper
    6. sudo modprobe configs   #这会生成 /proc/config.gz
    7. gzip dc /proc/config.gz > .config
    8. make modules_prepare
    9. 下载Module.symvers
    10. 切换到gcc 4.8,(就是前文update-alternatives的那几行)不然编译出来会kernel oops,我试过了,20150506的更新也有提到这一点
    11. https://github.com/porjo/mt7601或官方驱动中的src/mcu/bin/MT7601.bin复制到/lib/firmware/下,命名为mt7601u.bin
    12. 下载驱动源码 https://github.com/kuba-moo/mt7601u/archive/master.zip 并解压到你喜欢的目录,在usb.c里自带了很多USB DEV ID,包括360腾讯小米等,应该不用自己添加了
    13. make && sudo make install && sudo depmod
    14. sudo modprobe mt7601u(make install 之后mt7601u.ko会放到/lib/modules/4.0.6中,如果有问题就放到/lib/modules/4.0.6+/kernel/drivers/net/wireless/下吧)
    15. 插上你的MT7601,ifconfig看一下有没有wlan0吧
    16. /etc/network/interfaces文件中没有ra0部分,只用wlan0

     

     

    相关参考:

    1.在树莓派上使用360WIFI(也适用于小米、百度、腾讯WIFI):http://shumeipai.nxez.com/2014/12/07/raspberry-pi-use-360wifi.html

    2.http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=98913

    3.http://www.raspberrypi.org/forums/viewtopic.php?f=28&t=49864&p=690479

  • OpenWrt使用无线网络桥接LAN与WAN

    先上图。最近我正要搭建一个类似上图的网络,我要从图中的LAN Host 1通过wifi访问图中的WLAN Client,其中两个无线路由器都运行OpenWrt。后来我找到了这篇文章。从中发现了来自OpenWrt Wiki的方法(上图也是取自此wiki),正好解决了这个问题。

  • 轻松用wifi(承载网络)分享Win7/8的有线网络

    其实用wifi承载网络来分享有线网络这个途径不少人都是知道的,要么装一些第三方软件例如猎豹什么的(功能貌似相当强大),要么用几个cmd命令。

    我之前一直都是用cmd命令来搞的,不过对一些同学来说,难度有点高(我知道有同学买了360路由什么的..),尤其是网络的配置这个部分。所以我现学现卖写了这个软件。

    使用说明:

    1. 第一次使用建议点左上角配置一次承载网络,以前开启过的按左上角的菜单来进入向导,确保连上承载网络之后能上网。
    2. 由于本人技术问题,检测“是否支持”和“当前状态”这两个项目都只能用于简体中文版的系统,目前在Win7/8/8.1 x64均测试成功,其他语言的支持有待补充。
    3. 本程序理论上需要.NET Framework 4.5或以上的支持。

    功能暂时也就截图上这些了,有使用问题欢迎反馈。

    wifishare

    下载地址:hostednetwork.exe

    Changelog:

    ————————

    v1.0  2013.09.16

    [+]第一版

    ————————

    v1.1  2013.09.16

    [*]部分细节修改

    ————————

    v1.2  2013.10.13

    [*]教程部分图片更改

    ————————

    v1.3  2013.10.30

    [+]增加更新检查功能

    [*]增加逻辑判断,增强程序稳定性

    ————————

    v1.4  2013.11.2

    [+]换掉了原来的默认图标

    ————————

    v1.5  2013.11.25

    [+]增加“遇到问题”链接

    [*]又改了一下图标

    [*]优化更新检查逻辑

    ————————

    v2.0  2014.3.27

    [+]增加检测当前客户端功能

    [*]把整个程序用C#重写了一次,之前用VB.NET写的,感觉写简单的小程序还是用后者方便点啊

    ————————

    v2.2  2014.4.9

    [+]针对重新配置承载网络有时不成功的情况(例如无管理员权限),增加了cmd返回信息的反馈

    ————————

    v2.21  2014.5.6

    [+]打开程序时会要求获得管理员权限,避免了打开程序之后权限不足的问题

    [*]现在程序需要.NET Framework 4.5

    ————————

    v2.22  2014.7.23

    [*]最近在学一点C#,把检查更新的代码放到了线程里面,这样就避免了检查时程序卡顿的的问题

    ————————

    v2.23  2014.8.11

    [+]自动检查更新现在可以显示新版的更新内容,点确定可以直接下载

    ————————

    v2.29  2014.10.12

    [+]可以自动通过已连接的MAC地址检测对应客户端的IP和计算机名

    [*]增强了自动检查更新的稳定性

    ————————

    v2.3  2014.11.17

    [*]修改了获取客户端的IP和计算机名的逻辑

     

    ===============================

    出现问题?

    [error]连到系统上的设备没有发挥作用[/error]

    [important]请确定你的wifi硬件开关已打开。[/important]

    [error]设备无法连接Wi-fi[/error]

    [important]检查网络适配器的ip是否出现问题,如果是169.254开头的就是DHCP出现问题导致的,可以手动为它分配一个ip,设备也可以用固定ip的方式来连接Wi-fi[/important]