這篇文章算是一個資安問題的討論文章,作者透過一系列的手法成功地獲取了大量使用者的電腦資訊,由於這次的實驗只是要證明資安問題,因此作者的程式只有獲取如 IP, Hostname 等簡單資訊,若是惡意的話是可以執行更多危險程式碼的。
作者開門見山表示,現在的程式語言有太多的豐富的第三方函式庫,譬如 NodeJs(NPM), Ruby(RubyGem), Python(PyPI),豐富的第三方實作讓開發者可以更快速的完成任務。
開發者在使用這些套件函式庫時,大部分情況都不會去檢查太多,而是直接信賴般的去使用這些函式庫,而這種盲點般的信任是否有可能讓攻擊者有跡可循?
作者基於這個想法進行了一系列研究,發現 PayPal 公開專案(NodeJs) 內的 package.json 內交互使用了公開與內部的 packages。 公開部分勢必來自 npm 而那些內部的應該是來自於 PayPal 內部系統,同時也注意到這些內部的 package name 目前於 npm 上也不存在。
針對這個情境,作者提出一些問題
1) 如果有人上傳跟 PayPal 內部 package 相同名稱的套件到 npm 服務器上,有沒有可能 PayPal 內部某些專案會預設使用 npm 上的套件而非內部自架的伺服器?
2) 開發者或是其他自動化系統有沒有可能運行這些 packages 內的程式碼,這樣有沒有機會造成一個漏洞的可能性?
3) 其他的公司是否也會有類似的問題?
為了證實這個問題,作者設計了一系列的實驗與準備來測試上述問題,譬如更有系統的去尋找這種有跡可循的 package.json(Tesla, Apple, Yelp 等公司都被到可以利用的 package names)。
作者將自己這系列的攻擊行為稱為 depdendency confusion 來呼應本文標題。
結果來看是令人非常震驚的,作者打造同名的npm的確被大量下載與執行,也讓作者收集到大量運行的內部服務器IP與名稱。
與 Apple 合作通報相關報告後, Apple 也於兩週內修復相關問題。
原文滿長的,非常推薦閱讀
我個人認為資安這概念就是不出問題不被重視,但是一但出問題可能造成的影響卻非常巨大的。團隊內每個人都要培養基本的資安理念,同時與相關的安全團隊合作逐漸地提高整個產品的安全性,永遠不要想一聲令下明天就可以反轉一切。
https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「python package推薦」的推薦目錄:
- 關於python package推薦 在 矽谷牛的耕田筆記 Facebook 的精選貼文
- 關於python package推薦 在 紀老師程式教學網 Facebook 的精選貼文
- 關於python package推薦 在 コバにゃんチャンネル Youtube 的最佳貼文
- 關於python package推薦 在 大象中醫 Youtube 的最佳貼文
- 關於python package推薦 在 大象中醫 Youtube 的最讚貼文
- 關於python package推薦 在 [心得] 自學AI心得- 看板Python - 批踢踢實業坊 的評價
- 關於python package推薦 在 紀老師程式教學網- [外掛推薦] 34 個最棒的Python 開源函式庫 ... 的評價
- 關於python package推薦 在 [分享] 2020 推薦Python資料科學的書- PTT精華區 的評價
- 關於python package推薦 在 Python 入門教學課程 的評價
- 關於python package推薦 在 强烈推荐Github上的100个Python项目! - SegmentFault 思否 的評價
- 關於python package推薦 在 Python實作電影推薦系統 的評價
python package推薦 在 紀老師程式教學網 Facebook 的精選貼文
看到「阿法狗(AlphaGo)」打敗人類棋王,想往「機器學習」領域鑽研寫個「貝他貓」嗎? XD 這篇文章說不定可以幫到你!
https://goo.gl/vyuB3B
先說清楚!並非看完這篇,馬上 Level 從 Lv0 變 Lv99,還自帶大魔導士屬性... 這篇充其量只是一份「還不錯的 Machine Learning 入門指引」而已。
首先,您得先學 Python 語言...(對!目前機器學習入門者會推薦從 Python 著手,有需要再進化到其它語言)。該篇文章會教您安裝 Python 開發環境 -- Anaconda (目前好用功能多的 Python 開發環境之一)。
接著它會引導您接觸 Python 豐富的外掛(其實應該叫「套件(Package)」,但我覺得叫它外掛比較威 XD)。機器學習的各項功能,就可以透過掛入各種套件,讓您直接取用到機器學習的各項強大函數呼叫。
最後,它提供了一份「機器學習領域的閱讀清單」。可以讓您對機器學習的子領域、研究主題,有個大概的認識。如果您也對機器學習有興趣,我還蠻推薦您看一看的!
啊!沒有中文真是抱歉!但這類「最新玩意兒」大部分都會先用英文發表。中文的話...如果我有看到有善心人士翻譯,一定會再次轉發告知的!
希望今天的分享您會喜歡!還請多多按讚、轉發、或留言討論喔!
python package推薦 在 紀老師程式教學網- [外掛推薦] 34 個最棒的Python 開源函式庫 ... 的推薦與評價
[外掛推薦] 34 個最棒的Python 開源函式庫推薦(2019 年版) 英文說明文章: https://goo.gl/hHMxCv 簡中說明文章: ... 04. poetry:Python 套件相依關係管理函式庫。 ... <看更多>
python package推薦 在 [分享] 2020 推薦Python資料科學的書- PTT精華區 的推薦與評價
https://tinyurl.com/y6vkkmqx 大名鼎鼎的Pandas套件作者Wes McKinney 自己寫的書,從頭教,很適合新手,學Numpy及Pandas必讀,不解釋。 第三本: Python ... ... <看更多>
python package推薦 在 [心得] 自學AI心得- 看板Python - 批踢踢實業坊 的推薦與評價
各位前輩好
小弟自從一年前開始在本版和DataScience版出沒
漸漸從完全0程式語言基礎,到可以訓練model
受到版上許多人的指引和建議
以下整理這一年多來使用覺得適合初學者的自學資源:
(網誌版本包含連結:https://x60606.pixnet.net/blog/post/300451728)
※什麼人適合讀這篇文章?
. 具有高中數學程度的人(其實也只要會矩陣和向量就可以了)
. 完全沒有程式語言基礎的人
. 有心想自學AI的人,並用於工作領域的人
. 恰好有3-6個月的空閒時間,希望多學一種語言的人
※學習時間大約要多久?
心無旁鶩的全心學習的話,大約一個月可以上手python程式語言
再大約3-6個月可以操作AI機器學習。
之後依應用領域不同自行挑選工具學習。
※第一階段
初學Python 程式語言
推薦書單:
《精通 Python:運用簡單的套件進行現代運算》Introducing Python
作者:Bill Lubanovic
從安裝下載python 及其相關套件開始教起
用語詼諧幽默,比喻生動有趣
不要被中文標題嚇到了,其實它只是introduce而已。
使用方式:
將內容範例程式碼逐步打過,養成眼到手到的習慣,兩周左右便可撰寫基礎程式碼。
從第一章開始閱讀,練習到第六章即可。
第一個難關:環境建立
初學者最常遇到的困難就是在自己的電腦上安裝編譯軟體,
由於Mac, Windows, Linux各種作業系統安裝方式不盡相同,
時常會遇到書上沒有教的窘境。
因此初學者我推薦上面這本書。
小撇步:
之後如果覺得安裝各種套件很麻煩,可以直接下載Anaconda,
使用Jupyter notebook 撰寫,自動包含所有常用機器學習套件。
※第二階段:
熟練Python並了解各種演算法之間的時間複雜度、空間複雜度差異。
推薦學習資源:
Leetcode 網站題庫
使用方法:
挑選自己有興趣的題目寫,也可以選擇難度為「簡單」的題目練習。
大約寫5-10題即可,1-2周即可完成本階段。
完成題目之後可以到討論區看其他專業工程師如何解決同樣的問題,如何更簡單明瞭、運
算更快速。
用最短的時間在資工系最硬必修──「資料結構」、「演算法設計」初窺門道。
並藉此複習上一階段沒有熟練的指令碼。
第二個難關:忘記學過的指令碼
所以需要靠刷leetcode練習複習。同一個題目能夠看到別人用不一樣的方法解決,知道自
己的不足。
※第三階段:
機器學習基礎知識
學習資源:
網路課程:林軒田教授、李宏毅教授
林軒田教授的課程比較學術生硬,投影片精美,講解詳盡有邏輯,數學成分較多,非常適
合對原理有興趣的你。(基礎課程請按此) (進階課程請按此)
李宏毅教授的課程風趣幽默,上課步調比較隨興輕鬆,適合喜歡結合生活應用的你。(ML
lecture 請按此)
使用方法:
兩位台大教授都有將課程影片上傳至youtube,可以挑選一位從頭到尾看完。
太過於理論或數學推導的部分可以兩倍速帶過。
安排一天3小時,綜合做筆記時間,大約4-6周左右可以掌握AI機器學習所有名詞的意義,
以及數學上的邏輯、生活中的應用。
第三個難關:對機器學習原理感到迷惘或卻步
別擔心!請記得,機器學習是數學家和資料科學家經年累月發展出來的深奧學門,一般人
不需要了解全部的詳細原理,像是您學習開車但是不需要知道所有的機械結構,只要掌握
與操作有關的重點,並知道重要名詞之間的關聯即可,目標是下一階段的實作!
※第四階段
機器學習程式碼操作
書單推薦:Tensorflow + Keras 深度學習人工智慧實務應用
網路資源:AI 百日馬拉松 (不是免費的,一個人報名費約2000元左右)
我自己有報名第二屆,值得推薦的地方是他會每天給你一點程式碼
也會提供教學講義網站和重要資源的連結
學期間有助教隨時解答
不過我自己覺得,對非科班出生的人而言,原理和教學圖解部分太少
有時候中文語句也不是很通順,還有許多改進空間
因此上面三個階段完成的人來看會比較不吃力
未來應用若有很好的資源會再補充!
歡迎提供更多資源建議,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.114.177.47 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1565422919.A.548.html
... <看更多>