QUIC 存在 UDP 反射 DDoS 攻击漏洞吗?

今年年初,360信息安全部发布了一篇关于利用 UDP 反射 DDoS 的分析报告:Memcache UDP反射放大攻击技术分析。报告一出,引起了业界的普遍关注。根据文中所述,光是Qrator Labs 在 medium.com 上 批露的一次DDoS攻击看,其攻击流量峰值达到 480Gbps。而360信息安全团队本身也监测和确认有更大的攻击已经实际发生,只是未被公开报道。

而就在这个这个事件纰漏没多久,我把博客升级为支持基于 UDP 的 QUIC 协议来改善小站的访问体验:本站开启支持 QUIC 的方法与配置。本着小站没几人访问的蜜汁自信,当时也没太纠结 QUIC 是否也存在 UDP 反射漏洞。前几天,看到著名博主,阮一峰同学网站被 DDoS 攻击,心里咯噔一下:出来混迟早是要还的,还是填坑为安吧。

什么是 UDP 反射 DDoS 攻击

简单讲,就是攻击者利用IP网络不做真实源地址检查的“设计缺陷“,向提供基于 UDP 服务的服务器发送伪造源地址(一般为被攻击者的主机IP)的 UDP 报文请求,使得这些 UDP 报文的响应数据都会发送给被攻击者主机,这种攻击我们称之为 UDP 反射 DDoS 攻击。

之所以要通过被利用的服务器反射流量到被攻击的服务器,是因为被利用的服务器一般存在流量放大效应。即一个伪造IP的 UDP 请求发送到到被利用服务器后,被利用服务器会发送比请求更多的数据到被攻击者服务器。

被利用服务器输出流量与输入流量的比值我们称之为放大系数。这个系数与被利用服务器所提供的 UDP 服务有关。之前提到的利用 Memcache 漏洞的 DRDoS 攻击,可以获得稳定的 60000 倍放大系数。而我们日常使用的 DNS 则可以轻松的获得 50 倍的放大系数。

由放大系数反推,我们可以知道,如果一个 UDP 服务被利用以后,放大系数小于等于1的话,则不存在利用价值,因为这个时候,只从带宽流量方面考虑的话,还不如直接利用攻击主机对被攻击服务器进行攻击效率高。

QUIC 存在 UDP 反射攻击漏洞吗

按照蛤乎惯例,照顾猴急的同学,先给结论:可以。

QUIC 主要通过以下机制来解决该问题:

  1. 对于首次发起建立 QUIC 连接的客户端,服务端要求其初始化的 hello 数据包必须完全填充。这个包在 IPv4 下一般是 1370 字节,在 IPv6 下是 1350 字节。在 QUIC 协议中,服务器和客户端数据交互的基本单位是就是 UDP 数据包,而一个全填充的数据包已经达到了数据包大小的上限,因此服务器的响应数据包一定是小于等于这个 hello 数据包的。显然,放大系数小于等于1. 因此,新连接的建立没有反射利用的价值。
  2. 建立 QUIC 连接后,客户端发出的数据包就不会全填充了。这个时候,如果被 UDP 反射利用,放大系数是大于1的。因此, QUIC 引入了源地址token (source address token):在成功建立 QUIC 连接后,服务器会用发放一个源地址token给客户端,并要求客户端在后续的数据包中带上这个token;服务器只对源地址token有效的数据包进行处理。源地址token中一般包含客户端的源地址和服务器的时间。因此这是一个客户端证明其IP所有权的凭证。
  3. 由于源地址token可能会被网络中的攻击者嗅探收集,因此 QUIC 设计了一套源地址token的过期和刷新机制。另一方面,每次客户端发送的数据包如果都带上源地址token的话,不仅客户端流量大,服务器验证token也是额外的开销,使得协议延迟变高。因此 QUIC 协议允许客户端按照一个动态策略选择是否在数据包中夹带源地址token:服务器端收集和统计源地址的数据包,当统计到源地址数据包交互响应异常的数量超过阈值时,要求该源地址的客户端必须夹带源地址token, 对于无法提供合法源地址的token的请求进行 reject 处理。

扩展阅读

魔鬼在细节中:Base64 你可能不知道的几个细节

Base64 是我们常用的编码方式,广泛用于邮件编码、数据签名/数据校验编码以及HTML/XML复杂数据编码。这本来是一个花两分钟了解一下就无需关注的技术,但是最近线上遇到一个相关问题。于是重新梳理了一下 Base64, 发现了一些以前未曾注意到的细节,记录如下,希望对你也有帮助。

Base64 是什么?

Base64 是一种将二进制数据表示为可打印字符的编码方法。基本操作是将3个字节编码为4个 Base64 单元:3 * 8 bit = 4 * 6 bit. 这种编码方法常用于处理文本数据的场合,例如在 HTML/XML 中表示、传输、存储一些二进制数据(如数据签名、数据校验等)。Base64 编码后数据增长为原来的 4/3 ≈ 1.33 倍。相较于将二进制数据按照十六进制输出数据增长为原来2倍,Base64 更加节省空间。Base64 的标准是 RFC 4648,如果你不想直接阅读这个拗口啰嗦的RFC,可以继续往下看。

Base64 不是什么?

Base64 不是一种加密方式,因此它不提供任何安全特性。我们在论坛、个人博客中发现很多人使用 Base64 编码显示自己邮箱主要是避免被搜索引擎及其他批量化工具发现和索引。

Base64 编码结果是唯一的吗?

不是的。Base64 根据编码字典表不同以及是否 padding (使用=作为 padding 字符),对同一数据的编码结果可能不同。使用最多的字典表有两个:

                      Table 1: The Base 64 Alphabet

     Value Encoding  Value Encoding  Value Encoding  Value Encoding
         0 A            17 R            34 i            51 z
         1 B            18 S            35 j            52 0
         2 C            19 T            36 k            53 1
         3 D            20 U            37 l            54 2
         4 E            21 V            38 m            55 3
         5 F            22 W            39 n            56 4
         6 G            23 X            40 o            57 5
         7 H            24 Y            41 p            58 6
         8 I            25 Z            42 q            59 7
         9 J            26 a            43 r            60 8
        10 K            27 b            44 s            61 9
        11 L            28 c            45 t            62 +
        12 M            29 d            46 u            63 /
        13 N            30 e            47 v
        14 O            31 f            48 w         (pad) =
        15 P            32 g            49 x
        16 Q            33 h            50 y

         Table 2: The "URL and Filename safe" Base 64 Alphabet

     Value Encoding  Value Encoding  Value Encoding  Value Encoding
         0 A            17 R            34 i            51 z
         1 B            18 S            35 j            52 0
         2 C            19 T            36 k            53 1
         3 D            20 U            37 l            54 2
         4 E            21 V            38 m            55 3
         5 F            22 W            39 n            56 4
         6 G            23 X            40 o            57 5
         7 H            24 Y            41 p            58 6
         8 I            25 Z            42 q            59 7
         9 J            26 a            43 r            60 8
        10 K            27 b            44 s            61 9
        11 L            28 c            45 t            62 - (minus)
        12 M            29 d            46 u            63 _
        13 N            30 e            47 v           (underline)
        14 O            31 f            48 w
        15 P            32 g            49 x
        16 Q            33 h            50 y         (pad) =

这两个字典表的区别主要是 6263 使用的字符不同(我们将这两个字符称为特殊字符)。因此,对于同一数据最多可能有 2 * 2 = 4 种编码结果。以 0x0F0xF1(2 bytes)为例,有以下4种编码结果:

  • 字典表1 + padding: D/E=
  • 字典表1 + nopadding: D/E
  • 字典表2 + padding: D_E=
  • 字典表2 + nopadding: D_E

这种一个数据有多个编码结果的情况,往往会给我们解码带来困扰。因此,在使用 Base64 的场景中,务必在文档中注明你是使用的哪一个字典表以及是否需要 padding. 当然,国内环境对文档普遍不够重视,在这么小的技术点上写如此细致是不敢奢望的,有一条有用的经验是:在没有特殊说明的情况下,技术文档中的 Base64 一般是指 字典表1 + padding.

Base64 是 url/filename safe 的吗?

如上所诉,我们默认的 Base64 编码使用的是字典表1,而这个字典表中的字符 +/ 无论是在url还是文件系统中都是特殊字符。因此,基于字典表1的Base64编码不是 url/filename safe 的,不能将该 Base64 编码直接与url拼接或用来命名文件。基于字典表2的 Base64 编码是 url/filename safe 的。但它不是我们大部分编程语言的默认字典,因此,你如果选择这个字典进行 Base64 编码,在解码时也选择该字典。否则你有很大概率会遇到部分数据能解码,部分数据不能解码的问题。

Base64 可以自定义特殊字符吗?

字典表2使用了不一样的 6263 特殊字符以实现 url/filename safe. 但这可能无法满足所有应用场景。因此根据 RFC, 你是可以自定义这两个特殊字符建立自己的字典表的。有一点需要注意,如果你使用了自定义字典表,那么请确保自己编码和解码使用的字典表是一致的。

Base64 编码结果中的等号(=)可以省略吗?是多余的设计吗?

可以省略,但不是多余的设计。

我们先看为何可以省略:

对于数据 A, 如果我们省略padding的等号,解码的时候我们从QQ是可以推断出来,原始数据长度必然是1 byte, 因此可以可以正确解码。数据 BC 同理。

既然 padding 的等号完全不影响解码,是否可以取消这个设计呢?答案是否定的。对于一些将多个Base64编码拼接在一起的场景,padding的等号可以标记一个 Base64 编码单元的边界,使得拼接后的 Base64 编码整体是可以无歧义正确解码的。如果省略等号,则无法保证无歧义性。我们看一个例子:

  • I Base64编码为 SQ (SQ== with padding)
  • AM Base64编码为 QU0 (QU0= with padding)
  • Daniel Base64编码为 RGFuaWVs (RGFuaWVs with padding)

如果使用省略等号的方式,拼接后的Base64编码是 SQQU0RGFuaWVs, 因为我们无法区分边界,我们只能对整个字符串进行解码,显然解码结果是不正确的。如果我们不省略等号,则拼接后的编码 SQ==QU0=RGFuaWVs 可以根据等号区分边界,然后分块正确解码。

扩展阅读

什么车最适合跑滴滴——数据化思维小记

背景

端午节回村里,发小问买个车跑滴滴应该选什么车。在发小眼里,跟互联网相关的,我应该都懂……但是,我也就是滴滴伪司机,2015年注册以来就跑过一单。我虽然也喜欢车,但是也深知车这东西到手就开始贬值,实实在在的负债。看着他手里几十万预算的拆迁款,回想一下平时跟他吹牛皮的聊天记录,感觉这家伙就是趁着端午想让我去他家说服叔叔们同意他买个 BMW 330 曜夜版。这个坑我怎么可能跳?

我跟他分析了N条跑滴滴一定是要选低油耗、养护成本低、贬值率低的车。但是始终说服不了他。尝试从网上搜了一下什么车适合跑滴滴,结果大概分三种,一种是明显的车托写的软文,直接pass。一种是凭自己主观感受推荐的车型,这种个人感情色彩太强烈,难以客观,容易好心办坏事。还有一种是给出了选车的方法,但是没有给出具体车型,例如:

你只要多做几次快车,就会发现什么车最多。

多做几次车,和司机师傅聊聊,就知道什么车合适了。

出处:大学毕业,想专职跑滴滴,什么车比较合适?

第三种类型的信息是最有用的,毕竟授之以鱼不如授之以渔。按照上面的思路,无非就是需要搜集点数据,然后得出结论。正在苦恼数据的时候,想起我经常使用滴滴加油薅羊毛,里面可以看到滴滴车主的实时订单和近30日回头客的加油统计,数据简直就是现成的。于是,我决定用实际数据给发小上一课。

如何获取数据

我们要获取的数据位于 滴滴车主 APP -> 滴滴加油 页面:

页面中,我们可以看到滴滴加油站的实时订单和30日回头客两个非常有用的数据。数据获取阶段,我们的任务就是把这两个数据抓下来保存到本地。

这个页面是一个web页面,但是会验证动态token。考虑到我们只是简单的收集一点数据,因此不想正面逆向token的生成方式,仅仅通过一个小工具进行中间人攻击的方式就可以收集数据:

这个小工具 didi-car-rank 放在了github上,感兴趣的同学可以安装玩一玩。

如何解读数据

我们假设滴滴司机中跑得最勤快、数量最多的车型是最适合跑滴滴的车型。而我们采集的数据只有两项:实时订单和30日回头客。因此,简单统计一下我们采样的实时订单和和30日回头客加油次数即可。以成都为例,统计结果如下:

车型订单数量排名 统计了我们获取到的成都市各个加油站实时加油订单中各个车型的数量。它反映了车型的车型保有量,准确讲是车型在滴滴车主中的保有量。一般来说,保有量越大的车,其维修成本越低,保值率越高,当然这不绝对,相关性大抵如此。由于我们采集实时订单的时间不长,因此统计中的绝对数字不是那么重要,主要关注相对值。

车型加油积分排行 统计了成都市各个加油站近30天滴滴加油次数前50名的各个车型次数(1次=1积分)。它反映了滴滴专职司机(绝大部分)使用的车型。有了积分以后,用积分除以上面的订单数量,就可以得到每个车型的平均积分。这个指标在一定程度上反映了滴滴的冠军车型。

滴滴分为快车和专车。其中,专车基本被凯美瑞、天籁、帕萨特三分天下,因此没什么可分析的,看个人喜好买就对了。我们主要看一下快车车型。按照上面的思路,我们是否该选快车中平均得分最高的长安逸动呢?答案是否定的,因为这款车型的加油订单数量只有17(图中未入榜),也就是说长安逸动的保有量并不大,很可能是因为车价便宜,而被少数人用来专职跑滴滴拉高了平均分,选择这种车型后期的保值率会有较大问题。类似的,也可以排除平均分为45.33的别克凯越。如果不介意保值率,准备把这个车开滴滴开到报废,倒是可以考虑这样的车型。

我们尽量考虑实时订单数加油积分平均积分都在top 10的车型。因为这可以相对全面的放映车型在油耗、养护成本、保值率、可靠性等方面的实际认可程度。丰田卡罗拉、大众朗逸、大众新捷达、斯柯达明锐、日产轩逸都是不错的选择。考虑到油耗是实际运营中的长期成本,且占比较高,给发下及其家人安利的了丰田卡罗拉双擎,一箱油跑1000KM不是梦。同时也成功破除了发小实现蓝天白云的小心思。希望下次回村里的时候他不会上来跟我干架,毕竟我也是良苦用心……

需要说明的是,上面的选择是成都地区一个相对合理的选择。对于其他城市,由于受地域政策(区域车企保护、限行、新能源扶持)的影响,这款车型可能并不适合你所在的城市。比如,根据我们抓取到的数据,我们发现在上海市最受滴滴司机青睐的车型是荣威550/e550和比亚迪秦,重庆最火的是长安逸动。

附录给出了国内热门城市的滴滴热门车型排名数据,可供参考。如果附录数据没有你的城市,你也可以使用小工具 didi-car-rank 自行抓取数据进行分析。

小结

在数字化如此发达的今天,数据就是资源。利用数据分析事物的相关性能在很大程度上辅助我们减少或消除不确定性,提高我们判断的准确性。所谓的数据指导运营背后的思路也是如此。同时也应该意识到,大部分时候我们获取的数据往往是含有噪音的。因此,要学会使用其他数据来佐证或剔除一些可疑的数据。做到大胆假设,小心求证。

数据的收集可以跟技术没有半毛钱关系。比如,如果我们不通过数据抓取也可以通过直接到加油站蹲点数车型的方式来获取数据。这个跟你要开一个奶茶店,去线下数人头、算人流、估流水是一样的。商业本质的东西其实一直没有大的改变,有时候甚至会让你觉得很low.

很多时候,人们凭经验估计的数据偏差是非常大的。比如,在抓取一个城市的加油站数据的时候,第一直觉是一个城市的加油站太多了,抓数据会不会累死(因为需要手指滑动来获取数据)。但是,实际发现,北京的滴滴加油站也才不过在3位数,上海因为一直在给滴滴这类网约车平台开罚单,只有区区十几个滴滴加油站。我们常常说一个好的产品经理要有清晰的思维来估计一个城市有多少个理发师,对于研发而言,这个数据化分析和思考的能力一样重要。因为它可能决定了你对系统关键部分的设计和选型。

其实,滴滴加油站的数据除了分析滴滴的热门车型,如果你是滴滴的竞争对手,是不是可以监控/分析/对比一下……(此处略去几个字);如果你是整车厂,是不是可以更加有的放矢呢?如果你是汽车后市场从业者,是不是看到了其他机会呢?数据本身是冰冷的,但是你的敏感性却可以使之发光发热。在这一点上,我还是一个没入门的初学者。共勉之。

附录:国内热门城市滴滴热门车型排名

北京市

车型订单数量排名:
+------+--------------+------------+
| 排名 |     车型     | 实时订单数 |
+------+--------------+------------+
|    1 | 大众朗逸     |        126 |
|    2 | 日产阳光     |        116 |
|    3 | 大众新捷达   |        113 |
|    4 | 大众帕萨特   |         97 |
|    5 | 日产天籁     |         89 |
|    6 | 日产轩逸     |         85 |
|    7 | 丰田凯美瑞   |         81 |
|    8 | 大众速腾     |         71 |
|    9 | 丰田卡罗拉   |         70 |
|   10 | 现代悦动     |         68 |
|   11 | 本田雅阁     |         68 |
|   12 | 大众宝来     |         65 |
|   13 | 起亚K2       |         64 |
|   14 | 现代朗动     |         62 |
|   15 | 大众新桑塔纳 |         50 |
|   16 | 马自达CX-5   |         50 |
|   17 | 大众迈腾     |         48 |
|   18 | 别克GL8      |         45 |
|   19 | 雪佛兰科鲁兹 |         43 |
|   20 | 起亚K3       |         43 |
+------+--------------+------------+

车型加油积分排名:
+------+--------------+----------+----------+
| 排名 |     车型     | 加油积分 | 平均积分 |
+------+--------------+----------+----------+
|    1 | 出租车       |    17804 | N/A      |
|    2 | 大众朗逸     |     6547 |    51.96 |
|    3 | 日产阳光     |     4305 |    37.11 |
|    4 | 现代悦动     |     2827 |    41.57 |
|    5 | 起亚K2       |     2672 |    41.75 |
|    6 | 日产轩逸     |     2628 |    30.92 |
|    7 | 现代朗动     |     2483 |    40.05 |
|    8 | 大众帕萨特   |     2309 |    23.80 |
|    9 | 丰田凯美瑞   |     2159 |    26.65 |
|   10 | 日产天籁     |     2131 |    23.94 |
|   11 | 雪佛兰科沃兹 |     1942 |    57.12 |
|   12 | 丰田卡罗拉   |     1855 |    26.50 |
|   13 | 大众新捷达   |     1809 |    16.01 |
|   14 | 雪佛兰科鲁兹 |     1806 |    42.00 |
|   15 | 大众宝来     |     1670 |    25.69 |
|   16 | 起亚K3       |     1584 |    36.84 |
|   17 | 本田雅阁     |     1387 |    20.40 |
|   18 | 丰田威驰     |     1255 |    33.03 |
|   19 | 别克凯越     |     1218 |    29.71 |
|   20 | 别克英朗     |     1206 |    70.94 |
+------+--------------+----------+----------+

上海市

车型订单数量排名:
+------+---------------+------------+
| 排名 |     车型      | 实时订单数 |
+------+---------------+------------+
|    1 | 比亚迪秦      |         37 |
|    2 | 荣威550       |         37 |
|    3 | 荣威e550      |         16 |
|    4 | 荣威ei6       |         13 |
|    5 | 别克GL8       |          9 |
|    6 | 别克英朗      |          8 |
|    7 | 日产轩逸      |          6 |
|    8 | 丰田卡罗拉    |          6 |
|    9 | 华晨华颂华颂7 |          6 |
|   10 | 斯柯达明锐    |          6 |
|   11 | 本田思域      |          5 |
|   12 | 荣威950       |          5 |
|   13 | 大众新桑塔纳  |          5 |
|   14 | 丰田雷凌      |          5 |
|   15 | 福特福克斯    |          4 |
|   16 | 大众帕萨特    |          4 |
|   17 | 日产天籁      |          4 |
|   18 | 荣威350       |          4 |
|   19 | 上汽G10       |          4 |
|   20 | 大众宝来      |          3 |
+------+---------------+------------+

车型加油积分排名:
+------+---------------+----------+----------+
| 排名 |     车型      | 加油积分 | 平均积分 |
+------+---------------+----------+----------+
|    1 | 荣威550       |     4668 |   126.16 |
|    2 | 比亚迪秦      |     1940 |    52.43 |
|    3 | 荣威e550      |     1930 |   120.62 |
|    4 | 荣威ei6       |     1178 |    90.62 |
|    5 | 华晨华颂华颂7 |      812 |   135.33 |
|    6 | 日产轩逸      |      687 |   114.50 |
|    7 | 别克GL8       |      377 |    41.89 |
|    8 | 荣威950       |      271 |    54.20 |
|    9 | 大众帕萨特    |      255 |    63.75 |
|   10 | 出租车        |      232 | N/A      |
|   11 | 大众朗逸      |      201 |    67.00 |
|   12 | 丰田卡罗拉    |      197 |    32.83 |
|   13 | 丰田凯美瑞    |      196 |    65.33 |
|   14 | 上汽G10       |      186 |    46.50 |
|   15 | 丰田雷凌      |      170 |    34.00 |
|   16 | 别克英朗      |      157 |    19.62 |
|   17 | 福特福克斯    |      128 |    32.00 |
|   18 | 荣威e950      |      125 |   125.00 |
|   19 | 别克君威      |      125 |    62.50 |
|   20 | 本田锋范      |      118 |    59.00 |
+------+---------------+----------+----------+

广州市

+------+--------------+------------+
| 排名 |     车型     | 实时订单数 |
+------+--------------+------------+
|    1 | 日产轩逸     |         88 |
|    2 | 丰田卡罗拉   |         79 |
|    3 | 比亚迪秦     |         77 |
|    4 | 日产逍客     |         47 |
|    5 | 丰田雷凌双擎 |         43 |
|    6 | 本田凌派     |         43 |
|    7 | 日产天籁     |         42 |
|    8 | 福特麦柯斯   |         42 |
|    9 | 丰田雷凌     |         41 |
|   10 | 捷豹XF       |         37 |
|   11 | 本田锋范     |         36 |
|   12 | 丰田凯美瑞   |         35 |
|   13 | 本田飞度     |         24 |
|   14 | 宝骏560      |         23 |
|   15 | 日产阳光     |         21 |
|   16 | 本田雅阁     |         20 |
|   17 | 丰田威驰     |         20 |
|   18 | 吉利帝豪     |         19 |
|   19 | 荣威950      |         19 |
|   20 | 别克英朗     |         18 |
+------+--------------+------------+


车型加油积分排名:
+------+--------------+----------+----------+
| 排名 |     车型     | 加油积分 | 平均积分 |
+------+--------------+----------+----------+
|    1 | 比亚迪秦     |     3702 |    48.08 |
|    2 | 日产轩逸     |     3465 |    39.38 |
|    3 | 出租车       |     2891 | N/A      |
|    4 | 丰田卡罗拉   |     2419 |    30.62 |
|    5 | 日产天籁     |     2294 |    54.62 |
|    6 | 本田凌派     |     1822 |    42.37 |
|    7 | 丰田凯美瑞   |     1311 |    37.46 |
|    8 | 丰田雷凌     |     1228 |    29.95 |
|    9 | 丰田雷凌双擎 |     1164 |    27.07 |
|   10 | 本田锋范     |      907 |    25.19 |
|   11 | 宝骏560      |      633 |    27.52 |
|   12 | 本田飞度     |      526 |    21.92 |
|   13 | 日产轩逸经典 |      519 |    51.90 |
|   14 | 本田雅阁     |      486 |    24.30 |
|   15 | 现代朗动     |      479 |    26.61 |
|   16 | 起亚K3       |      430 |    30.71 |
|   17 | 丰田威驰     |      418 |    20.90 |
|   18 | 本田思域     |      416 |    32.00 |
|   19 | 广汽传祺GS4  |      412 |    58.86 |
|   20 | 日产阳光     |      396 |    18.86 |
+------+--------------+----------+----------+

深圳市

车型订单数量排名:
+------+----------------+------------+
| 排名 |      车型      | 实时订单数 |
+------+----------------+------------+
|    1 | 丰田卡罗拉     |         92 |
|    2 | 日产轩逸       |         70 |
|    3 | 福特麦柯斯     |         39 |
|    4 | 日产逍客       |         38 |
|    5 | 比亚迪秦       |         37 |
|    6 | 日产天籁       |         27 |
|    7 | 现代朗动       |         25 |
|    8 | 捷豹XF         |         24 |
|    9 | 宝骏560        |         24 |
|   10 | 日产全新轩逸   |         22 |
|   11 | 丰田凯美瑞     |         22 |
|   12 | 丰田卡罗拉双擎 |         21 |
|   13 | 日产轩逸经典   |         20 |
|   14 | 本田凌派       |         19 |
|   15 | 起亚K3         |         18 |
|   16 | 大众朗逸       |         18 |
|   17 | 丰田威驰       |         17 |
|   18 | 本田雅阁       |         16 |
|   19 | 丰田雷凌       |         16 |
|   20 | 日产阳光       |         16 |
+------+----------------+------------+

车型加油积分排名:
+------+----------------+----------+----------+
| 排名 |      车型      | 加油积分 | 平均积分 |
+------+----------------+----------+----------+
|    1 | 日产轩逸       |     5569 |    79.56 |
|    2 | 丰田卡罗拉     |     4988 |    54.22 |
|    3 | 比亚迪秦       |     3269 |    88.35 |
|    4 | 丰田凯美瑞     |     1824 |    82.91 |
|    5 | 本田凌派       |     1790 |    94.21 |
|    6 | 日产天籁       |     1512 |    56.00 |
|    7 | 丰田雷凌       |     1360 |    85.00 |
|    8 | 大众朗逸       |     1342 |    74.56 |
|    9 | 日产轩逸经典   |     1266 |    63.30 |
|   10 | 荣威ei6        |     1221 |    81.40 |
|   11 | 宝骏560        |     1139 |    47.46 |
|   12 | 丰田威驰       |     1071 |    63.00 |
|   13 | 别克凯越       |      968 |    80.67 |
|   14 | 本田锋范       |      808 |    53.87 |
|   15 | 日产阳光       |      768 |    48.00 |
|   16 | 丰田卡罗拉双擎 |      716 |    34.10 |
|   17 | 本田雅阁       |      697 |    43.56 |
|   18 | 现代朗动       |      676 |    27.04 |
|   19 | 现代悦动       |      609 |    40.60 |
|   20 | 丰田雷凌双擎   |      572 |    71.50 |
+------+----------------+----------+----------+

杭州市

车型订单数量排名:
+------+--------------+------------+
| 排名 |     车型     | 实时订单数 |
+------+--------------+------------+
|    1 | 比亚迪秦     |         46 |
|    2 | 别克凯越     |         18 |
|    3 | 大众朗逸     |         14 |
|    4 | 日产轩逸     |         14 |
|    5 | 日产轩逸经典 |         13 |
|    6 | 本田雅阁     |         13 |
|    7 | 丰田卡罗拉   |         11 |
|    8 | 丰田雷凌     |         11 |
|    9 | 日产天籁     |         10 |
|   10 | 别克英朗     |          9 |
|   11 | 现代朗动     |          9 |
|   12 | 荣威950      |          9 |
|   13 | 现代领动     |          8 |
|   14 | 奇瑞艾瑞泽7e |          8 |
|   15 | 荣威ei6      |          8 |
|   16 | 荣威e950     |          7 |
|   17 | 马自达CX-5   |          7 |
|   18 | 现代悦动     |          7 |
|   19 | 宝马X6       |          7 |
|   20 | 雪佛兰科鲁兹 |          6 |
+------+--------------+------------+

车型加油积分排名:
+------+--------------+----------+----------+
| 排名 |     车型     | 加油积分 | 平均积分 |
+------+--------------+----------+----------+
|    1 | 出租车       |     4768 | N/A      |
|    2 | 比亚迪秦     |     3290 |    71.52 |
|    3 | 日产轩逸     |     1345 |    96.07 |
|    4 | 荣威ei6      |      824 |   103.00 |
|    5 | 奇瑞艾瑞泽7e |      631 |    78.88 |
|    6 | 日产轩逸经典 |      593 |    45.62 |
|    7 | 现代朗动     |      573 |    63.67 |
|    8 | 丰田雷凌     |      521 |    47.36 |
|    9 | 荣威e950     |      443 |    63.29 |
|   10 | 丰田卡罗拉   |      424 |    38.55 |
|   11 | 别克凯越     |      419 |    23.28 |
|   12 | 大众朗逸     |      416 |    29.71 |
|   13 | 现代悦动     |      313 |    44.71 |
|   14 | 福特福克斯   |      307 |    51.17 |
|   15 | 雪佛兰科鲁兹 |      301 |    50.17 |
|   16 | 现代领动     |      289 |    36.12 |
|   17 | 起亚K3       |      273 |   136.50 |
|   18 | 本田飞度     |      272 | N/A      |
|   19 | 起亚K2       |      260 |    86.67 |
|   20 | 吉利帝豪     |      259 |    86.33 |
+------+--------------+----------+----------+

成都市

车型订单数量排名:
+------+--------------+------------+
| 排名 |     车型     | 实时订单数 |
+------+--------------+------------+
|    1 | 大众新捷达   |         52 |
|    2 | 斯柯达明锐   |         50 |
|    3 | 大众宝来     |         46 |
|    4 | 大众朗逸     |         42 |
|    5 | 丰田卡罗拉   |         39 |
|    6 | 起亚K3       |         35 |
|    7 | 马自达CX-5   |         30 |
|    8 | 大众速腾     |         29 |
|    9 | 大众新桑塔纳 |         28 |
|   10 | 日产轩逸     |         27 |
|   11 | 标致301      |         24 |
|   12 | 现代瑞纳     |         24 |
|   13 | 福特福克斯   |         23 |
|   14 | 标致408      |         22 |
|   15 | 哈弗H6       |         22 |
|   16 | 雪铁龙爱丽舍 |         21 |
|   17 | 雪佛兰爱唯欧 |         21 |
|   18 | 别克英朗     |         20 |
|   19 | 斯柯达昕锐   |         19 |
|   20 | 大众帕萨特   |         19 |
+------+--------------+------------+

车型加油积分排名:
+------+--------------+----------+----------+
| 排名 |     车型     | 加油积分 | 平均积分 |
+------+--------------+----------+----------+
|    1 | 丰田卡罗拉   |     1613 |    41.36 |
|    2 | 大众朗逸     |     1504 |    35.81 |
|    3 | 斯柯达明锐   |     1452 |    29.04 |
|    4 | 大众宝来     |     1283 |    27.89 |
|    5 | 日产轩逸     |     1232 |    45.63 |
|    6 | 大众速腾     |     1222 |    42.14 |
|    7 | 大众新捷达   |     1146 |    22.04 |
|    8 | 长安逸动     |     1002 |    58.94 |
|    9 | 起亚K3       |      870 |    24.86 |
|   10 | 别克英朗     |      846 |    42.30 |
|   11 | 大众新桑塔纳 |      743 |    26.54 |
|   12 | 现代朗动     |      720 |    42.35 |
|   13 | 丰田凯美瑞   |      719 |    79.89 |
|   14 | 日产天籁     |      694 |    49.57 |
|   15 | 标致301      |      671 |    27.96 |
|   16 | 雪铁龙爱丽舍 |      653 |    31.10 |
|   17 | 福特福克斯   |      570 |    24.78 |
|   18 | 现代瑞纳     |      568 |    23.67 |
|   19 | 别克凯越     |      544 |    45.33 |
|   20 | 斯柯达昕锐   |      527 |    27.74 |
+------+--------------+----------+----------+

重庆市

车型订单数量排名:
+------+-------------+------------+
| 排名 |    车型     | 实时订单数 |
+------+-------------+------------+
|    1 | 标致408     |         19 |
|    2 | 本田凌派    |         16 |
|    3 | 长安逸动    |         16 |
|    4 | 大众朗逸    |         15 |
|    5 | 起亚K3      |         14 |
|    6 | 马自达CX-5  |         14 |
|    7 | 日产天籁    |         14 |
|    8 | 吉利帝豪    |         10 |
|    9 | 奇瑞艾瑞泽5 |         10 |
|   10 | 大众新捷达  |         10 |
|   11 | 别克威朗    |          9 |
|   12 | 名爵锐行    |          9 |
|   13 | 标致308     |          9 |
|   14 | 宝骏560     |          8 |
|   15 | 日产轩逸    |          8 |
|   16 | 荣威i6      |          8 |
|   17 | 吉利帝豪GL  |          7 |
|   18 | 日产阳光    |          7 |
|   19 | 众泰Z560    |          7 |
|   20 | 长安CS35    |          7 |
+------+-------------+------------+

车型加油积分排名:
+------+--------------+----------+----------+
| 排名 |     车型     | 加油积分 | 平均积分 |
+------+--------------+----------+----------+
|    1 | 长安逸动     |      548 |    34.25 |
|    2 | 本田凌派     |      427 |    26.69 |
|    3 | 日产天籁     |      379 |    27.07 |
|    4 | 大众朗逸     |      364 |    24.27 |
|    5 | 起亚K3       |      298 |    21.29 |
|    6 | 日产轩逸     |      287 |    35.88 |
|    7 | 福特福睿斯   |      252 |    42.00 |
|    8 | 本田锋范     |      246 |    49.20 |
|    9 | 丰田卡罗拉   |      233 |    38.83 |
|   10 | 大众新桑塔纳 |      203 |    67.67 |
|   11 | 名爵锐行     |      197 |    21.89 |
|   12 | 丰田凯美瑞   |      183 |    36.60 |
|   13 | 别克威朗     |      175 |    19.44 |
|   14 | 吉利帝豪GL   |      169 |    24.14 |
|   15 | 众泰Z560     |      164 |    23.43 |
|   16 | 宝骏560      |      160 |    20.00 |
|   17 | 雪佛兰科鲁兹 |      159 |    22.71 |
|   18 | 长安CS75     |      157 |    78.50 |
|   19 | 起亚K5       |      155 |    25.83 |
|   20 | 哈弗H6       |      151 |    75.50 |
+------+--------------+----------+----------+