精华内容
参与话题
问答
  • 9.25学习报告

    2017-09-25 22:01:52
    学习报告(2017.9第五周) 9.25周一 学习目标:学习html的基本知识,搭建网站开发环境 学习工具:一台ubuntu16.01LTS云服务器,codecademy,百度,图书馆 完成情况:①搭建流行的LAMP $sudo apt install ...

    学习报告(2017.9第五周)

    9.25周一

    学习目标:学习html的基本知识,搭建网站开发环境

    学习工具:一台ubuntu16.01LTS云服务器,codecademy,百度,图书馆

    完成情况:①搭建流行的LAMP

    $sudo apt install apache2 mysql-server php

    至此环境配置完成,由于目标为静态网站,apache2不需要php模块。

    <!DOCTYPE html>
    <html>
    
    <head>
      <title>Brown Bears</title>
    </head>
    
    <body>
      <nav>
        <a href="./index.html">Brown Bear</a>
        <a href="./aboutme.html">About Me</a>
      </nav>
      <h1>The Brown Bear</h1>
      <nav>
        <ul>
          <li><a href="#introduction">Introduction</a></li>
          <li><a href="#habitat">Habitat</a></li>
          <li><a href="#media">Media</a></li>
        </ul>
      </nav>
      <div id="introduction">
        <h2>About Brown Bears</h2>
        <p>The brown bear (<em>Ursus arctos</em>) is native to parts of northern Eurasia and North America. Its conservation status is currently <strong>Least Concern</strong>.<br /><br /> There are many subspecies within the brown bear species, including the
          Atlas bear and the Himalayan brown bear.</p>
        <a href="https://en.wikipedia.org/wiki/Brown_bear" target="_blank">Learn More</a>
        <h3>Species</h3>
        <ol>
          <li>Arctos</li>
          <li>Collarus</li>
          <li>Horribilis</li>
          <li>Nelsoni (extinct)</li>
        </ol>
        <h3>Features</h3>
        <p>Brown bears are not always completely brown. Some can be reddish or yellowish. They have very large, curved claws and huge paws. Male brown bears are often 30% larger than female brown bears. They can range from 5 feet to 9 feet from head to toe.</p>
      </div>
      <div id="habitat">
        <h2>Habitat</h2>
        <h3>Countries with Large Brown Bear Populations</h3>
        <ol>
          <li>Russia</li>
          <li>United States</li>
          <li>Canada</li>
        </ol>
        <h3>Countries with Small Brown Bear Populations</h3>
        <p>Some countries with smaller brown bear populations include Armenia, Belarus, Bulgaria, China, Finland, France, Greece, India, Japan, Nepal, Poland, Romania, Slovenia, Turkmenistan, and Uzbekistan.</p>
      </div>
      <div id="media">
        <h2>Media</h2>
        <img src="https://s3.amazonaws.com/codecademy-content/courses/web-101/web101-image_brownbear.jpg" />
        <video src="https://s3.amazonaws.com/codecademy-content/courses/freelance-1/unit-1/lesson-2/htmlcss1-vid_brown-bear.mp4" height="240" width="320" controls>Video not supported</video>
      </div>
    </body>
    
    </html>
    
    在codecademy上学习了基础的HTML知识,这是按照学习流程写出的example

    展开全文
  • 第一次个人学习报告

    2018-04-15 19:29:54
    由于之前我基本上接触的都是web前端,安卓设计开发等前端操作,所以在这一阶段我主要在w3school网站上学习了相关的php基本语法,这里对php的一些简单语法用法进行一些小总结:1、嵌入方法:类似JSP的&...

           由于经过我们小组讨论之后,我们决定选择php作为我们后端api实现的编程语言。由于之前我基本上接触的都是web前端,安卓设计开发等前端操作,所以在这一阶段我主要在w3school网站上学习了相关的php基本语法,这里对php的一些简单语法用法进行一些小总结:

    1、嵌入方法:

    类似JSP的<%,PHP可以是<?php或者是<?,结束符号是?>。

    2、引用文件:

    引用文件的方法有两种:require 及 include。(最好用require_once和include_once;效率会略高)

    require 的使用方法如 require("test.php"); 。这个函数通常放在 PHP 程序的最前面,

    PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。

    常用的函数,亦可以这个方法将它引入网页中。

    include 使用方法如 include("test.php"); 。这个函数一般是放在流程控制的处理部分中。

    PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。

    3、注释方法:

    和java一样; 3种(1:/**abc */ 2:/*abc */ 3://abc)

    4、变量类型:

    $str = "test" ;
    $int1 = 66;
    $float1 = 1.653 ;
    $float2 = 1.3E+5 ;
    $array1 = array( "甲" , "乙" , "丙" , "丁" );

    这里引出两个问题,首先PHP变量以$开头,第二PHP语句以;结尾。

    5. php输出方法:

    以下有3种方法输出:

    echo

    printf 却一定要有圆括号;用来格式化数字的输出。可以把一个数作为整数,或者用科学计数法显示出来。

    print 可有可无圆括号

    你可以用“,”号来分隔多个要显示得内容;包括变量.字符.数字.函数等类型.

    可以用iconv('gb2312', 'utf-8', $response)来把gb2312的字符转成utf-8的字符输出.

    php退出函数用"exit";java用"return".

    6.了解php的系统信息方法:

    以下可以看到php的系统变量:

    <?php
    echo "<pre>";
    print_r($GLOBALS);
    ?>

    举例:可以查到远程访问的ip:

    <?php 
    echo $_SERVER["REMOTE_ADDR"];
    ?>


    以下可以看到php的系统环境:

    <?php 
    echo phpinfo(); 
    ?>

    7.数据库编程:

    <?php
    //数据库连接 3个参数 ip, 用户, 密码
    $conn=mysql_connect("127.0.0.1", "test", "test");
    //选择名为"mysee"数据库
    mysql_select_db("mysee");
    //执行sql语句;得到输出结果$result
    $result = mysql_query("select channel_name, channel_url from live_channel where isactive=1");
    $response="{";
    $i=0;
    //循环得到$result的单记录行值$row
    while($row = mysql_fetch_array($result)) {
        //注意:php字符相加用'.'和java不一样(java用'+'); $row["channel_name"]可以行记录的字段名'channel_name'的值
        $response .= "'".$i."':['".$row["channel_name"]."', '".$row["channel_url"]."'],";
        $i++;
    }
    ?>

    展开全文
  • 论文学习报告总结

    2019-06-02 22:55:00
    班级: 92 姓名: 冯乾 学号: 20182918 上课教师:谢四江 上课日期:2019年5月25日 ...1.本次论文的学习报告总结 论文题目:Spectre Attacks: Exploiting Speculative Execution 论文来源:39th I...

    20182918 2018-2019-2 《密码与安全新技术专题》第13周作业

    课程:《密码与安全新技术专题》

    班级: 92
    姓名: 冯乾
    学号: 20182918
    上课教师:谢四江
    上课日期:2019年5月25日
    必修/选修: 选修

    1.本次论文的学习、报告总结

    论文题目:Spectre Attacks: Exploiting Speculative Execution
    论文来源:39th IEEE Symposium on Security and Privacy(Oakland)
    作者信息:

    • Paul Kocher
      • Independent
    • Daniel Genkin
      • University of Pennsylvania and University of Maryland
    • Daniel Gruss
      • Graz University of Technology
    • Werner Haas
      • Cyberus Technology
    • Mike Hamburg
      • Rambus, Cryptography Research Division
    • Moritz Lipp
      • Graz University of Technology
    • Stefan Mangard
      • Graz University of Technology
    • Thomas Prescher
      • Cyberus Technology
    • Michael Schwarz
      • Graz University of Technology
    • Yuval Yarom
      • University of Adelaide and Data

    本文发表时间不到一年半,引用次数已经达到了416次。

    Spectre Attacks(幽灵攻击)

    现代处理器使用分支预测和推测执行来最大化性能。 例如,如果分支的目标取决于正在读取的内存值,则CPU将尝试获取目标并尝试提前执行。 当内存值最终到达时,CPU丢弃或提交推测计算。 推测逻辑在执行方式上是不忠实的,可以访问受害者的内存和寄存器,并且可以执行具有可测量副作用的操作。
    幽灵攻击涉及诱使受害者以规范的方式执行在正确的程序执行期间不会发生的操作以及泄漏受害者的操作,可以通过侧信道向外界提供的机密信息。幽灵攻击结合了来自侧信道攻击,故障攻击和回归导向编程的方法,可以从受害者的内存中读取任意任意位置的内容。 更广泛地说,推测性执行实施违反了支持数字软件安全机制的安全假设,包括操作系统进程分离,静态分析,容器化,即时(JIT)编译以及对缓存的定时/侧通道攻击的对策。 这些攻击对实际系统构成严重威胁,因为在用于数百万台设备的英特尔,AMD和ARM的微处理器中发现了漏洞预测执行的功能。
    幽灵攻击就像字面所说的意思一样,来无影去无踪,当攻击发生时受害者在毫无察觉的情况下就被CPU的预测执行功能“出卖”了。

    Speculative Execution(预测执行)

    预测执行简单来说是一些具有预测执行能力的新型处理器,可以估计即将执行的指令,采用预先计算的方法来加快整个处理过程。

    预测执行的设计理念是:加速大概率事件。

    预测执行是高速处理器使用的一种技术,通过考虑可能的未来执行路径并提前地执行其中的指令来提高性能。例如,当程序的控制流程取决于物理内存中未缓存的值时,可能需要几百个时钟周期才能知道该值。除了通过空闲浪费这些周期之外,过程还会控制控制流的方向,保存其寄存器状态的检查点并且继续在推测的路径上推测性地执行该程序。当值从存储器中偶然到达时,处理器检查最初猜测的正确性。如果猜测错误,则处理器将寄存器状态恢复为存储的检查点并丢弃(不正确的)预测执行,如果猜测是正确的,则该部分代码已被执行过,不需要再次执行,因此带来了显著的性能增益。

    可以发现,如果预测错误,即便程序真正执行到这里时错误结果被丢弃,但错误的结果还是短暂的出现在寄存器中,在被丢弃之前,这部分数据就很容易被泄露。

    欺骗分支预测器

    下面是一段可能被分支预测器错误预估的代码:

    1506386-20190602225431446-1402950511.png

    对于这段代码,攻击者首先使用有效的x调用相关代码,训练分支预测器判断该if为真。 然后,攻击者设置x值在array1_size之外。 CPU猜测边界检查将是真的,推测性地使用这个恶意x读取array2 [array1 [x] * 256]。 读取array2使用恶意x将数据加载到依赖于array1 [x]的地址的高速缓存中。当处理器意识到这个if为假时,重现选择执行路径,但缓存状态的变化不会被恢复,并且可以被攻击者检测到以找到受害者的存储器的一个字节。 通过使用不同的x值重复,可以利用该构造来读取受害者的存储器。
    该段代码的通常执行过程如下:
    进入if判断语句后,首先从高速缓存查询有无array1_size的值,如果没有则从低速存储器查询,按照我们的设计,高速缓存一直被擦除所以没有array1_size的值,总要去低速缓存查询。
    查询到后,该判断为真,于是先后从高速缓存查询array1[x]和array2[array1[x]*256]的值,一般情况下是不会有的,于是从低速缓存加载到高速缓存。
    在执行过几次之后,if判断连续为真,在下一次需要从低速缓存加载array1_size时,为了不造成时钟周期的浪费,CPU的预测执行开始工作,此时它有理由判断if条件为真,因为之前均为真(加速大概率事件),于是直接执行下面的代码,也就是说此时即便x的值越界了,我们依然很有可能在高速缓存中查询到内存中array1[x]和array2[array1[x]*256]的值,当CPU发现预测错误时我们已经得到了需要的信息。

    攻击过程及结果

    攻击流程图如下:

    1506386-20190605212223115-914969923.png

    获取目标内存地址的技术本论文没有介绍,个人以为可以堆内存地址进行监控,选择频繁被修改的地址。

    攻击示例程序中的受害代码采用上面的例子,交替输入有效和恶意的参数:

    1506386-20190602225440457-122524045.png

    在通过直接读取该处cache中的值确定攻击是否命中,当读取速度小于某个经验值时,则认为该数据在高速缓存中,判断为命中。当命中某个数值达到一定次数时判定命中结果:
    1506386-20190602225444575-531317321.png

    本文作者声称这种攻击可以获取信息的速率在一定环境下可达10KB/s(10KB/second on an i7 Surface Pro 3)。

    相似的攻击手段:meltdown

    Meltdown是一种类似的微体系结构攻击,它利用无序执行来泄漏目标的物理内存。 Meltdown在两个主要方面与Spectre Attacks截然不同。 首先,与Spectre不同,Meltdown不使用分支预测来实现推测执行。 相反,它依赖于观察,当一条指令导致一个软中断时,正在无序执行的指令中止。第二,Meltdown利用特定于英特尔处理器的特权升级漏洞,由此 推测执行的指令可以绕过内存保护。 结合这些问题,Meltdown从用户空间访问内核内存。 此访问会导致软中断,但在发出软中断之前,访问后面的代码会通过缓存通道泄漏所访问内存的内容。与Meltdown不同,Spectre攻击适用于非Intel处理器,包括AMD和ARM处理器。 此外,KAISER补丁已被广泛应用于对Meltdown攻击的缓解,但不能防止幽灵攻击。

    复现过程

    • 实验环境:
      • win10 专业版1809 64位、 win7旗舰版32位(VMware14 pro虚拟机)
      • CPU: i5-8300H。
      • 内存: 分别为16G,4G。

    代码修改:原论文附录中提供的代码存在些许瑕疵,对于观察期望输出存在一定阻碍,如图:

    1506386-20190605212238423-826438193.png

    将第二处红框中的代码改为第一处一样的格式即可。同时不知道原作者使用何编译器,在我们的测试中%c是不能用引号括起来的。
    运行结果如图:
    1506386-20190605212243356-1714405552.png

    2.学习中遇到的问题及解决

    • 问题1:如何确保分支预测器按照我们的想法去执行分支?
    • 问题1解决方案:仔细阅读代码得知,训练分支预测器的时候除了按照一定的比例输入有效和恶意的输入外,还会频繁的清除cache中的缓存,这样程序在执行到该处位置时为避免低速存储器的IO代价,会进行推测执行。
      1506386-20190602225452372-195871285.png
    • 问题2:array2大小为何定义为256*512(程序中实际上只需要256个值)
    • 问题2解决方案:结合之前学过的操作系统的知识、加上查阅资料,推测这是因为CPU中存在多级缓存,当把内存中某处的数值读到最高速缓存时,其相邻的值很可能也会被读到次一级的高速缓存,在次一级的高速缓存中的数值被读取时速度同样非常快,这样就影响我们用读取时间判断是否命中。

    3.本次讲座的学习感悟、思考等

    正如没有绝对安全的系统,某种方案被开发出来后必定伴随着一些隐藏的副作用。预测执行这种技术听起来确实是有无限可能,尤其是在处理器性能大大受到IO限制的今天。但推测执行带来的问题也不得不防,利用推测执行的漏洞进行攻击的幽灵,无声无息的盗取数据后甚至不会留下一点痕迹。

    参考资料

    转载于:https://www.cnblogs.com/thechosenone95/p/10964939.html

    展开全文
  • 学习报告

    2019-05-05 21:38:54
    学习报告

    学习报告在这里插入图片描述在这里插入图片描述

    展开全文
  • 深度学习报告

    2019-03-19 15:28:16
    合工大硕士的电子与通信专业的前沿课程的老师要求写<关于深度学习报告>,我写好了一份,供以后的师弟师妹们用
  • 每周学习报告

    2016-03-09 19:38:00
    下午学习计算机网络2小时 上午复习数据库1小时 下午复习JAVA1.5小时 看军事资料为自己毕业的理想做准备 自己写一篇军事稿子,锻炼自己 2周 上下午编写老师的作业各1.5个小时 上午复习计算机网络原理1小时...
  • 学习报告

    2019-04-19 18:26:57
    还有就是学习了stm32,现在32的驱动还是无法安装。看了关于定时器的视频,并尝试跟着写了一下中断的代码。然后接下来就是把Git的问题解决然后接着学习,安装好stm32的驱动,把有关定时器的视频看了。 ...
  • Python学习报告

    千次阅读 2014-10-28 23:11:32
    Python学习报告 为完成“微信公众平台”应用开发的代码编写工作,我们小组选择Python作为编程语言,并且在Django的开发框架下进行。本学习报告包括Python语言本身、Django的应用两部分的学习报告。(因为学习时间...
  • Matlab数学建模学习报告(一)

    千次阅读 多人点赞 2018-11-03 09:44:48
    一、学习目标。 (1)了解Matlab与数学建模竞赛的关系。 (2)掌握Matlab数学建模的第一个小实例—评估股票价值与风险。 (3)掌握Matlab数学建模的回归算法。 二、实例演练。  1、谈谈你对Matlab与数学建模...
  • 微信小程序学习报告

    千次阅读 2018-04-15 16:03:46
    微信小程序学习报告1.申请账号 点击 https://mp.weixin.qq.com/wxopen/waregister?action=step1 根据指引填写信息和提交相应的资料 2.安装开发模板 下载开发工具 小程序配置 app.json app.json 是对当前小程序...
  • 《软件项目管理》课程学习报告

    千次阅读 2007-04-23 15:04:00
    我用了一星期的时间细细的品位了那段美好时光,我希望能用今天完成的学习报告来记录下这段短暂的回忆。希望在未来的日子里每当我翻开这篇报告时就能带给我心潮澎湃的感觉。林老师的课真的可以用太精彩来形容,内容...
  • 计算机系统基础学习报告(一)

    千次阅读 2019-05-26 13:44:05
    计算机系统基础学习报告(一) 今晚学习计算机网课开始是很难受的。 总觉得讲师从层次分明的大结构入手加以讲解编程、操作系统与指令集体系结构有一些问题。至少对于我而言还只能理解一个大的框架,而不能够去仔细...
  • mysql后台数据库学习报告

    千次阅读 2018-04-14 16:36:16
    一.mysql语法1.创建/删除/选择数据库指令使用普通用户,你需要特定的权限来创建或者删除 MySQL 数据库。 使用root用户登录,root用户拥有最高权限,可以使用 mysql mysqladmin 命令来创建数据库。...
  • 学习报告描述符后的总结

    千次阅读 2009-07-18 09:30:00
    最近因为要做个USB HID设备,又重温了一下USB 设备描述符和报告描述符,特别是报告描述符理解起来真是困难,鉴于此,列了个表格如下: 位序号短数据项数值 0bSize00:指明短数据项所含数据字节数0个字节01
  • 因为一个模型毕竟是一种现实的反映,等于是现实的镜像,它能够描述现实的能力越强就越准确,而机器学习都是用变量来描述世界的,它的变量数是有限的,深度学习的深度也是有限的。另外它对数据的需求量随着模型的增大...
  • 2017深度学习最新报告及8大主流深度学习框架超详细对比(内含PPT)
  • Python学习总结报告

    万次阅读 2018-02-06 22:48:28
    Python是一门面向对象的解释性语言(脚本语言),这一类语言的特点就是不用编译,程序在运行的过程中由对应的解释器向CPU进行编译,一边编译一边执行他属于脚本语言,不想编译型语言那样先将程序编译成二进制在运行...
  • 2017 机器学习调查报告

    千次阅读 2017-12-07 00:00:00
    数据平台 Kaggle 近日发布了 2017 机器学习及数据科学调查报告,这也是 Kaggle 首次进行全行业调查。调查共收到超过 16000 份回复,受访内容包括最受欢迎的编程语言、不同国家数据科学家的平均年龄、不同国家的平均...
  • COMSOL初级学习之一

    万次阅读 多人点赞 2017-09-18 11:02:55
    COMSOL Multiphysics,以有限元法为基础,通过求解偏微分方程(单场)或偏微分方程组(多场)来实现真实物理现象的仿真。
  • 我们先带着大家过一遍传统机器学习算法,基本思想和用途。把问题解决思路和方法应用建议提前到这里的想法也很简单,希望能提前给大家一些小建议,对于某些容易出错的地方也先给大家打个预防针,这样在理解后续相应...

空空如也

1 2 3 4 5 ... 20
收藏数 260,173
精华内容 104,069
关键字:

学习报告